4

これについて多くの質問が寄せられ、多くの回答が提案されましたが、何もうまくいきませんでした。

ある時点で、次の手順を使用して、WPF プロジェクトの .NET シンボルの読み込みを有効にしました。 -framework-source-code.aspx

うまく機能し、すべてクールでした。

Silverlight プロジェクトを除き、そのサーバーからシンボルを読み込もうとしましたが、シンボルが存在しなかったため、プロジェクトをデバッグするための起動時間は膨大でした。

そこで、シンボルの読み込みをオフにすると、1 つの名前空間 System.Windows.Browser を除いて、すべてのシンボルの読み込みが停止されました。VS は F5 キーを押すたびにそれらをロードしようとしますが、数秒かかり、気が狂いそうになります。

ここに記載されているシンボル サーバーも追加しようとしました: http://blogs.msdn.com/seema/archive/2008/10/08/xperf-a-cpu-sampler-for-silverlight.aspx

シンボルがそこにあるかもしれないと考えて、それらはロードされてキャッシュされ、すべてがうまくいくでしょう。しかし、いいえ、ロードされないだけでなく、VS はプロジェクト内の他のすべての DLL のシンボルをロードしようとします。これには、シンボルが利用できなかったものも含まれるため、起動にさらに時間がかかります。

率直に言って、これらの DLL のソースをデバッグする必要さえありません。今、私はそれをオフにすることができず、それは私をバタバタさせています。修正は何ですか?

4

2 に答える 2

9

[ツール] -> [オプション] -> [デバッグ] -> [シンボル] -> [シンボルが手動でロードされている場合にのみ、上記の場所を検索する] をチェックするか、リストからすべてを削除します。

ボックスをチェックすると、モジュール リスト/スタック ウィンドウで右クリック -> DLL のシンボルを読み込むことができます。

于 2009-11-25T18:59:48.833 に答える
3

私はあなたが持っているかもしれないと思います

_NT_SYMBOL_PATH 

環境で定義されています。これは、Tools->Options->Debugging->Symbols で行うことを上書きしているようです。私は同じ問題を抱えていて、ほとんど気が狂いそうになりましたが、創造性の瞬間に procmon (sysinternals から) を devenv.exe に向け、ログで "symbol" を検索しました。最初に表示されたのは、環境変数が言及されていることでした。その上。他にも同様の不吉なサイドチャネルが存在する可能性がありますが、procmon の助けを借りてそれらを排除できたとしても、私は驚かないでしょう。

この動作は、シンボルをロードしている symsrv.dll が他のツールで使用され、シンボルをロードする必要があることを知らせるさまざまな方法があるという事実から来ていると思われます...まあ、これは「たわごと」に行くと思います-happens」アカウント。

余談ですが、HttpSendRequest() などの wininet 関数を使用するコードがある場合、この動作は非常に悪いものになる可能性があります。Visual Studio とインターネット エクスプローダーのすべてのインスタンスがすぐにデッドロックします。それ自体をオフにできないシンボルの読み込みに追加します。私がこれまでどんな一日を過ごしてきたか想像してみてください...

でも今は気分が良くなりました:)

//P

于 2009-12-10T15:41:14.630 に答える