我观察到当我开始调试时,它会构建项目,启动部署,并且完成部署后开始加载我的项目符号。
但这非常缓慢,我不知道为什么它开始执行此步骤。我可能做了什么?
这个符号加载步骤是必要的吗?我如何禁用它?
在“工具”->“选项”->“调试”->“符号”对话框中没有添加符号文件(.pdb)位置。我在下面的字段中指向了我的项目的调试目录,并勾选了“仅在符号被...时搜索上面的目录”复选框。我应该如何设置此对话框以关闭符号加载?
我查看了模块窗口中加载的符号,但对我来说没有任何意义。问题出在哪里?
调试 -> 删除所有断点 ( http://darrinbishop.com/blog/2010/06/sharepoint-2010-hangs-after-visual-studio-2010-f5-debugging ) 之后您可以再次使用它们,但只需执行一次。这将删除一些“无效”的断点,然后符号加载将再次变快。我曾为此问题奔波了几天 :(。
CTRL
+ B
手动添加断点并忽略 IntilliSense 无法找到该函数的警告时,就发生了这种情况。 - Sergey加载速度慢的另一个原因是如果您在调试选项中禁用了"启用仅限我的代码"。若要启用此功能,请转到:
Tools -> Options -> Debugging -> General -> Enable Just My Code (Managed Only)
请确认已勾选此项。
我刚遇到了这个问题。
我通过以下步骤解决了它:
工具 -> 选项 -> 调试 -> 符号
然后取消所有非本地源的符号文件 (.pdb) 位置的勾选,例如Microsoft 符号服务器和msdl.microsoft.com/download/symbols。
在“工具”、“选项”、“调试”、“符号”中进行配置。
通常,您可以查看输出窗口(查看,“输出”)以查看它的执行情况。如果速度真的很慢,那可能意味着它正在访问符号服务器,可能是微软的,下载缺失的符号。每次启动时,对于每个找不到的文件,需要三次HTTP请求-您有时可以在状态栏底部或例如Fiddler中看到这一点。在调试过程中,您可以在“调试”、“窗口”、“模块”中查看已加载符号的模块。
符号表示您可以获得有用的堆栈跟踪信息,用于第三方和系统程序集。对于自己的代码,您绝对需要这些符号,但我认为这些符号会被加载无论如何。您最好在菜单中关闭任何非本地符号源,如果您需要加载大量不需要调试的系统程序集的符号,则可以暂时禁用这些加载以加快调试启动速度-但它们通常很有用。
进入“工具”->“选项”->“调试”->“常规”
勾选“启用只跟踪我的代码”旁边的复选框。
进入“工具”->“选项”->“调试”->“符号”
点击“…”按钮并创建/选择一个本地计算机上的新文件夹以存储缓存的符号。我将其命名为“符号缓存”并放在文档->Visual Studio 2012中。
点击“加载所有符号”并等待从Microsoft服务器下载符号,这可能需要一段时间。请注意,“加载所有符号”按钮仅在调试时可用。
取消选中“Microsoft符号服务器”旁边的复选框,以防止Visual Studio远程查询Microsoft服务器。
点击“确定”。
同时,您还可以尝试删除所有断点(调试- >删除所有断点)。
我遇到了类似的问题。在我的情况下,我已经将_NT_SYMBOL_PATH设置为从Microsoft服务器下载以在WinDbg中使用,看起来当设置后,Visual Studio将使用它而没有任何忽略的方法。删除该环境变量解决了我的问题。
刚遇到了这个问题。 仅仅删除断点并不能解决它。 在尝试失败后,我去了工具 > 选项 > 调试 > 符号,然后“清空符号缓存”。
然后清理解决方案并重新构建。
现在看起来一切正常。所以如果你尝试了所有列出的其他方法,但仍然没有任何改变,这些额外的信息可能会有所帮助...
对我来说,这似乎与断点有关,正如被接受的答案所示。然而,我发现了两种方法可以解决问题,而不必删除所有断点:
Visual Studio 2017 调试符号“加速”选项,假设您还没有对选项进行过多的自定义:
工具 -> 选项 -> 调试 -> 符号
C:\dbg_symbols
或 %USERPROFILE%\dbg_symbols
1A 和 2 是最重要的步骤。1B 和 1C 只是有助于帮助您跟踪符号的更改。
当您的应用程序至少加载了所有符号并且调试没有过早终止时,下一次调试时应该快速加载这些符号。
我注意到,如果我取消调试运行,则必须重新加载这些符号,因为我猜测如果新引入的符号突然被取消,则它们会被“清理”。我理解这种流程的核心原理,但在这种情况下,它似乎考虑不周。
在我的情况下,Visual Studio 在路径中寻找第三方 PDBs,而这些路径在我的机器上引用了光驱。如果托盘中没有光盘,Windows 大约需要 30 秒才会失败,这反过来会减慢 Visual Studio 尝试从该位置加载 PDBs 的速度。更多详细信息请参见我的完整答案:https://dev59.com/ZGYr5IYBdhLWcg3wRoOW#17457581