15

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

在 Options/Debugging/Symbols/Symbol 文件位置中,“Microsoft Symbol Servers”未选中,并且没有其他位置。

此目录中的 Options/Debugging/Symbols/Cache 符号为“G:\Symbol Cache”。我确实单击了“加载所有符号”,并且检查了该目录,并且看到了很多符号。

只是我的代码已启用。

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

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

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

4

4 回答 4

12

我也有这个问题,原因是我不小心启用了“Microsoft Symbol Server”

您可以通过转到“工具”>“选项”>“调试”>“符号”来禁用它,然后取消选中“Microsoft 符号服务器”

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

于 2013-02-28T21:07:53.693 回答
6

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

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

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

于 2013-07-03T20:31:20.447 回答
4

试试这个 Debug -> Delete All Breakpoints。它对我有用。

于 2014-01-20T11:15:15.643 回答
0

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

于 2015-06-17T17:48:47.780 回答