有人提出了许多问题,并提出了许多答案,但没有任何问题对我有用。
有一次,我使用这些说明打开了WPF项目的.NET符号加载:http://blogs.msdn.com/sburke/archive/2008/01/16/configuring-visual-studio-to-debug-net-framework-source-code.aspx
工作得很好,一切都很酷。
除了在Silverlight项目中,它还会尝试从该服务器加载符号,但它们不存在,因此调试项目的启动时间非常长。
所以,我关闭了符号加载,它确实停止尝试加载所有符号,除了一个名称空间:System.Windows.Browser。 VS仍然试图加载每个F5,花费几秒钟让我疯狂。
我尝试添加此处提到的符号服务器:http://blogs.msdn.com/seema/archive/2008/10/08/xperf-a-cpu-sampler-for-silverlight.aspx
认为可能符号存在,它们会被加载和缓存,一切都会好的。但是,不,它们不仅没有被加载,而且VS试图为我项目中的每个其他DLL加载符号,包括那些符号从未可用的符号,这使得启动时间更长。
坦率地说,我甚至不需要调试这些DLL的源代码,我只是觉得它很酷。现在我无法将其关闭,这让我感到沮丧。有什么问题?
答案 0 :(得分:8)
工具 - >选项 - >调试 - >符号 - >选中“仅在手动加载符号时搜索上述位置”,或从列表中删除所有内容。
如果选中此框,则可以rclick - >在模块列表/堆栈窗口中的DLL上加载符号。
答案 1 :(得分:3)
我想你可能有
_NT_SYMBOL_PATH
在您的环境中定义。这似乎会覆盖你在Tools-> Options-> Debugging-> Symbols中所做的任何事情。我遇到了同样的问题,它差点把我当成了香蕉,但是在创造力的瞬间,我在devenv.exe上指导procmon(来自sysinternals)并在日志中搜索“符号”,首先出现的是提到的环境变量以上。可能还有其他类似的险恶的侧面通道,但如果你能通过procmon的一点帮助也能解决这些问题,我不会感到惊讶。
我怀疑这种行为来自于加载符号的symsrv.dll与其他工具一起使用的事实,并且有不同的方式来表示应该加载符号......好吧,我想这是“狗屎发生”的帐户。
另一方面 - 如果你有使用wininet函数的代码,例如HttpSendRequest(),这种行为对你来说真的很糟糕。它将迅速使视觉工作室和互联网爆炸的所有实例陷入僵局。添加到不会让自己关闭的符号加载。你可以想象我到目前为止的一天......
但我现在感觉好多了:)
// P