76

I have Visual Studio 2005 set up to use Microsoft's symbol servers. I also have UltraMon installed, which injects a hook DLL into every process. Whenever I start debugging my MFC application, Visual Studio says:

"Loading symbols for C:\Program Files\UltraMon\RTSUltraMonHookX32.dll..."

for anything from the blink of an eye to several tens of seconds. It's never going to find those symbols... Can I tell it not to bother looking?

(I tried creating an empty RTSUltraMonHookX32.pdb file, but Visual Studio sees that it's not good and carries on looking.)

4

9 に答える 9

128

You can't do this in a very fine grained fashion but you can disable automatic symbol loading and then manually choose the symbols to load via the Modules window (Debug -> Windows -> Modules).

To Disable Automatic Symbol loading

  • Tools -> Options -> Debugging -> Symbols
  • Check "Search the above locations only when symbols are loaded manually"
于 2009-05-15T14:56:33.387 に答える
29

また、「_NT_SYMBOL_PATH」環境変数がないことも確認してください。この var シンボルがある場合、VS の設定に関係なくロードされます。

于 2010-07-04T22:12:07.550 に答える
25

Visual Studio 2010 以降では、次の場所に移動できます。

Tools -> Options -> Debugging -> Symbols -> Specify excluded modules

読み込みに時間がかかりすぎる dll のリストを入力します。出力ウィンドウで指定されたフル パスを使用します。おそらく、ワイルドカードまたは単純なファイル名を受け入れます。

于 2012-05-25T08:31:43.307 に答える
1

また、HKEY_CURRENT_USER \ Software \ Microsoft \ Symbol Server\ExclusionsまたはHKEY_LOCAL_MACHINE\Software \ Microsoft \ Symbol Server \ Exclusivesに、または%WINDIR%\の.iniファイルを介してダウンロードを試みないシンボルサーバーの除外を設定することもできます。 system32 \ inetsrv \ Symsrv.ini(ヘッダー[exclusions]を使用し、各除外を独自の行に配置します)。除外は単純なパターン一致であるため、たとえばmsxml5。*を使用します。

于 2010-08-04T15:54:26.630 に答える
1

_NT_SYMBOL_PATHこの動作を引き起こす可能性があるだけでなく_NT_ALT_SYMBOL_PATH、遅延の原因となったのは環境変数でした。

(WinDbgを試したときにこの変数を追加したと思います)

于 2012-01-13T09:08:04.010 に答える
0

Visual Studio 2013 Pro では、Microsoft シンボル サーバーがチェックされている場合、VS はサーバー上のすべてのシンボルを読み込もうとするため、多くの余分な時間が発生します。

于 2016-09-01T14:59:02.393 に答える
0
  • MS Web サイトからすべてのシンボル パッケージを手動でロードし、高速化のために SSD ドライブに配置します :-)
  • 「_NT_SYMBOL_PATH」環境変数がある場合は、「SRV e:\symbols* http://msdl.microsoft.com/download/symbols」から「 http://msdl.microsoft.com/download/symbols 」の部分を削除します。 、したがって、貴重なダウンロードされたシンボルが存在するシンボルパスのみがあります。
  • シンボルがサポートされるようになりましたが、MS からダウンロードされるのではなく、ドライブからロードされます。
于 2016-09-06T23:11:10.183 に答える