これは、「この作業を行うにはどうすればよいのですか」よりも「なぜこのように機能するのですか」という質問です。WCFリモートデバッグ用のシンボルの位置
私はリモートでデバッグしているWCF Webサービスを持っています。 VS 2010リモートデバッガがインストールされ、Windowsサービスとして実行されているステージングサーバーに展開されます。権限は正しいですが、問題なくプロセスにアタッチできます。私が遭遇した問題は、一貫してロードするシンボルを得ることができなかったことです。
私はWCFサービスをC:\ Webs \ MyServiceに展開しており、C:\ Webs \ MyService \ binにはさまざまなDLLがあります。これは、独自のアプリケーションプールを持つ別のサイトとして設定されています。私が見つけたのは、binフォルダーに必要な.pdbファイルがあっても、ローカルマシンからw3wp.exeプロセスにアタッチしても、Visual Studioはシンボルをロードしませんでした。 IISが起動してワーカープロセスが生成されたとき、サービスDLLが一時的なASP.NETファイルディレクトリの下にC:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Temporary ASPのようなものにコピーされます。 .NETファイル\ルート\ 19f82539 \ e55fff8f \アセンブリ\ dl3 \ 2926a261 \ f625d158_f62ecd01。私は手動でこのフォルダに.pdbファイルをコピーすると、シンボルがロードされ、デバッグを実行できることがわかりました。
なぜこのように動作するのでしょうか、シンボルファイルをこの別のディレクトリに手動でコピーする必要がないのでしょうか。悪いのは、変更と再デプロイが必要な場合、ワーカープロセスはそれらを認識できないことです。 IISを再起動しなければならなかったため、別の一時ディレクトリが作成され、.pdbを再度コピーする必要がありました。
ヒントをありがとう、私はこれが失われた原因だと思った。 –
あなたは大歓迎です! – Teorist