4

对此提出了很多问题,并提出了很多答案,但对我来说没有任何效果。

有一次,我使用以下说明为 WPF 项目打开了 .NET 符号加载: //blogs.msdn.com/sburke/archive/2008/01/16/configuring-visual-studio-to-debug-net -framework-source-code.aspx

工作得很好,一切都很酷。

除了在 Silverlight 项目中,它还会尝试从该服务器加载符号,但它们不存在,因此调试项目的启动时间很长。

所以,我关闭了符号加载,它确实停止尝试加载所有符号,除了一个命名空间:System.Windows.Browser。VS 仍然尝试使用每个 F5 加载那些,花费几秒钟,让我发疯。

我也尝试添加这里提到的符号服务器: //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 

在您的环境中定义。这似乎覆盖了您在工具->选项->调试->符号中所做的任何事情。我遇到了同样的问题,它几乎把我逼疯了,但在一个创造性的时刻,我将 procmon(来自 sysinternals)指向 devenv.exe 并在日志中搜索“符号”,首先出现的是提到的环境变量以上。也可能有其他类似的险恶的侧通道,但如果你能在 procmon 的帮助下也能解决这些问题,我不会感到惊讶。

我怀疑这种行为来自这样一个事实,即正在加载符号的 symsrv.dll 与其他工具一起使用,并且有不同的方式来表示应该加载符号并且......好吧,我想这就是“狗屎- 发生”帐户。

附带说明一下——如果您的代码使用了诸如 HttpSendRequest() 之类的 wininet 函数,那么这种行为可能对您非常不利。它会很快使visual studio和所有internetexplorer实例陷入僵局。添加到不会让自己关闭的符号加载。你可以想象到目前为止我度过了怎样的一天……

但我现在感觉好多了:)

//P

于 2009-12-10T15:41:14.630 回答