Microsoftのシンボルサーバーを使用するようにVisual Studio 2005をセットアップしています。また、 ltraMon がインストールされており、フックDLL=をすべてのプロセスに挿入します。デバッグを開始するたびに [〜#〜] mfc [〜#〜 ] アプリケーション、Visual Studioによると:
"Loading symbols for C:\Program Files\UltraMon\RTSUltraMonHookX32.dll..."
瞬きから数十秒まで。それらのシンボルを見つけることは決してありません...わざわざ見ないように言ってもいいですか?
(私は空のRTSUltraMonHookX32.pdb
ファイルを作成しようとしましたが、Visual Studioはそれが良くないことを確認し、探し続けています。)
これを非常にきめ細かく行うことはできませんが、自動シンボルロードを無効にしてから、[モジュール]ウィンドウ([デバッグ]-> [ウィンドウ]-> [モジュール])でロードするシンボルを手動で選択できます。
自動シンボル読み込みを無効にするには
また、「_ NT_SYMBOL_PATH」環境変数がないことも確認してください。この場合、VSの設定に関係なく、varシンボルが読み込まれます。
Visual Studio 2010以降では、次の場所に移動できます。
Tools -> Options -> Debugging -> Symbols -> Specify excluded modules
ロードに時間がかかりすぎるDLLのリストを入力します。出力ウィンドウで指定されたフルパスを使用します。多分それはワイルドカードまたは単純なファイル名を受け入れます。
私の場合、それは「。Netソースステッピングを有効にする」をtrueに設定したためであったためです。
Tools > Options > Debugging > General.
Falseに設定するのではなく、「Enable Just Net Code」をtrueに設定し、「。Net Source Steppingを有効にする」を自動的にfalseに設定します。そうする前に警告が出ました:
Enabling Just my code automatically disabled .Net framework source stepping
Just My Code
および.Net source stepping
は相互に排他的です。
これが誰かの助けになることを願っています。
_NT_SYMBOL_PATH
がこの動作を引き起こす可能性があるだけでなく、私にとっては_NT_ALT_SYMBOL_PATH
環境変数が遅延の原因でした。
(WinDbgを試すときにこの変数を追加したと思います)
また、HKEY_CURRENT_USER\Software\Microsoft\Symbol Server\Exclusionsまたは場合によってはHKEY_LOCAL_MACHINE\Software\Microsoft\Symbol Server\Exclusionsまたは%WINDIR%\の.iniファイルを介してダウンロードを試行しないシンボルサーバー除外を設定することもできます。 system32\inetsrv\Symsrv.ini(ヘッダー[除外]を使用し、各除外を独自の行に配置します)。除外は単純なパターン一致であるため、たとえばmsxml5。*を使用します。
Visual Studio 2013 Proでは、Microsoft Symbol Serverがオンになっている場合、VSはサーバー上のすべてのシンボルをロードしようとするため、余分な時間がかかります。