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

Jas*_*Fry 15 c# asp.net asp.net-mvc debug-symbols visual-studio-2012

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

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

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

只是我的代码已启用.

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

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

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

小智 12

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

您可以通过转到"工具">"选项">"调试">"符号"来禁用它,并取消选中"Microsoft Symbol Server"

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


Mik*_*ike 6

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

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

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


Rou*_*man 5

只需尝试此调试 - >删除所有断点.它对我有用.