在VS2012中的ASP.NET项目中加载慢速符号

时间:2012-12-11 00:44:45

标签: c# asp.net asp.net-mvc visual-studio-2012 debug-symbols

我在ASP.NET MVC项目中加载符号时遇到问题。我第一次加载visual studio并调试我的项目时,符号大约加载2秒钟。然后我结束调试会话,进行代码修改,再次调试,符号加载时间大约是一分钟。根据我所做的研究,这里有一些适用于我的机器/ VS的设置:

在选项/调试/符号/符号文件位置中,未选中“Microsoft符号服务器”,并且没有其他位置。

此目录中的选项/调试/符号/缓存符号为“G:\ Symbol Cache”。我点击了“加载所有符号”,我检查了该目录,看到了很多符号。

我的代码已启用。

我的机器上未定义_NT_SYMBOL_PATH和_NT_ALT_SYMBOL_PATH环境变量。

选项/调试/符号/自动加载符号设置为“仅指定模块”,未指定模块。

我尝试过调试和发布版本,结果相同。 Ctrl + F5几乎立即加载网站。

4 个答案:

答案 0 :(得分:12)

我也有这个问题,原因是我意外地启用了“Microsoft Symbol Server”

您可以转到工具>停用它。选项>调试>符号并取消选中“Microsoft Symbol Server”

现在它的加载速度和以前一样快。

答案 1 :(得分:6)

我也有这个问题,并注意到它主要与通过NuGet获得的第三方程序集有关。在这些情况下,Visual Studio试图从显然存在于原作者的机器上的路径(即D:\ OriginalAuthor \ MyVisualStudioProjects \ AwesomeNuGetPackage)加载PDB,但在我的机器上,相同的路径是指光驱。然后,我通过命令提示符发现,如果您尝试将目录更改为托盘中没有光盘的光驱,则需要很长时间(约30秒)才能失败。考虑到这一点,我的解决方案是简单地将DVD放入托盘中。此时,Visual Studio能够非常快速地确定路径不存在,跳过加载PDB,然后直接进入调试。

因此,如果Visual Studio花费很长时间来加载符号,请在“输出”窗口中查看它尝试访问的路径,并验证您是否可以通过命令提示符自行快速访问(或快速无法访问)这些路径。 / p>

这提出了一个关于安全性/隐私的有趣问题 - 显然Visual Studio正在存储原始PBD在程序集中的绝对路径。我认为这不是一个超级关键问题,但从隐私角度来看,我并不希望我的绝对文件系统路径在我不知情的情况下暴露给公众。

答案 2 :(得分:5)

试试这个调试 - >删除所有断点。 它对我有用。

答案 3 :(得分:0)

我有两个.dll让我感到悲伤,我不需要调试,开始花费几分钟来加载。上述解决方案没有帮助。所以我去了选项 - >调试 - >符号和“所有模块,除非排除”的单选按钮下单击“指定排除的模块”链接。然后键入导致问题的.dll。