我将Visual Studio 2005设置为使用Microsoft的符号服务器。我还安装了UltraMon,它为每个进程注入了一个钩子DLL。每当我开始调试我的MFC应用程序时,Visual Studio会说:
"Loading symbols for C:\Program Files\UltraMon\RTSUltraMonHookX32.dll..."
从眨眼到几十秒的任何事情。它永远不会找到那些符号......我可以告诉它不要再费心了吗?
(我尝试创建一个空的RTSUltraMonHookX32.pdb
文件,但Visual Studio发现它不好并继续查找。)
答案 0 :(得分:101)
您无法以非常精细的方式执行此操作,但您可以禁用自动符号加载,然后通过“模块”窗口手动选择要加载的符号(调试 - > Windows - >模块)。
禁用自动符号加载
答案 1 :(得分:24)
同时检查您是否没有“_NT_SYMBOL_PATH”环境变量。如果你有这个var符号将加载,无论VS设置如何。
答案 2 :(得分:20)
从Visual Studio 2010开始,您可以访问:
Tools -> Options -> Debugging -> Symbols -> Specify excluded modules
并输入需要很长时间才能加载的dll列表。我使用输出窗口给出的完整路径;也许它接受通配符或简单的文件名。
答案 3 :(得分:8)
在我的情况下,这是因为我已设置"启用.Net源步进"
中的真实Navigate | File/Class...
我设置"启用我的代码"而不是将其设置为false。为true,自动设置"启用.Net源步进"为假。在这之前它给了我一个警告:
Tools > Options > Debugging > General.
建议Enabling Just my code automatically disabled .Net framework source stepping
和Just My Code
互斥。
我希望这有助于某人。
答案 4 :(得分:1)
您还可以设置符号服务器排除项,不会尝试在HKEY_CURRENT_USER \ Software \ Microsoft \ Symbol Server \ Exclusions或HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Symbol Server \ Exclusions或通过%.ini文件下载WINDIR%\ system32 \ inetsrv \ Symsrv.ini(使用标题[exclusions]并将每个排除项放在自己的行中)。排除项是简单的模式匹配,因此请使用msxml5。*。例如。
答案 5 :(得分:1)
不仅_NT_SYMBOL_PATH
会导致此行为,但对我而言,_NT_ALT_SYMBOL_PATH
环境变量导致延迟。
(我相信我在试验WinDbg时添加了这个变量)
答案 6 :(得分:1)
如果您转到调试选项 -> 符号,然后选中“仅加载指定的符号”,则不会自动加载符号并且调试器可以正常工作。
答案 7 :(得分:0)
在Visual Studio 2013 Pro中,如果选中Microsoft Symbol Server,VS将尝试加载其服务器上的所有符号,从而导致大量额外时间。
答案 8 :(得分:0)