我正在使用VS2008,在一个普通的中等规模的解决方案中。
有时,调试步骤变得非常缓慢。每个文件选项卡上都会出现一个挂锁,对于每个“步骤”(F10/F11),每一步可能需要长达两秒钟的时间。这使得调试变得非常烦人和缓慢。有没有人遇到过这个问题?
我正在使用VS2008,在一个普通的中等规模的解决方案中。
有时,调试步骤变得非常缓慢。每个文件选项卡上都会出现一个挂锁,对于每个“步骤”(F10/F11),每一步可能需要长达两秒钟的时间。这使得调试变得非常烦人和缓慢。有没有人遇到过这个问题?
我注意到在VS 2008中,如果你在调试工具栏中选择了“在源代码中显示线程”按钮,那么单步执行可能会慢至少10倍。
我还注意到,如果你的应用程序在调试模式下启动时间很长,那么只需在“调试”菜单下选择“删除所有断点”即可解决这个问题。尽管当时我只设置了几个断点,但这解决了一个令人烦恼的问题。
Silas
禁用Visual Studio中源代码中的“显示线程”,并关闭调用堆栈跟踪窗口。
我曾经遇到过同样的问题,特别是在调试包含多个线程的应用程序时。
这是由“在源代码中显示线程”功能引起的。
有关详细信息,请参见以下链接:
禁用此功能后,问题已解决。
http://randomascii.wordpress.com/2013/03/03/visual-studio-single-step-performance-fixes/
更多关于他人代码性能问题的调查详见此处:
http://randomascii.wordpress.com/category/investigative-reporting/
我在启用“.NET Framework源代码调试”后遇到了这个问题。关闭此功能后,步进速度大大加快。特别是重新打开“仅调试我的代码”(选项>调试>常规),可以消除我遇到的一半延迟。
另一半延迟是由于加载了比我需要的更多的符号(选项>调试>符号)。有一段时间我需要定义符号位置,但现在不需要了,所以我能够取消所有勾选并单击“清空符号缓存”。如果你列出了_NTSYMBOL_PATH,那么意味着你已经定义了这个环境设置,Visual Studio不会让你取消勾选它。你需要删除该设置。更多关于符号设置的信息(https://blogs.msdn.microsoft.com/visualstudioalm/2015/01/05/understanding-symbol-files-and-visual-studios-symbol-settings/)
如果您有一个病毒扫描程序(启用实时扫描),请检查C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Remote Debugger\x64\msvsmon.exe
*是否被排除在扫描范围之外。
在我的情况下,在公司推出新的病毒扫描程序后,调试变得非常缓慢。过了一段时间,我们发现msvsmon.exe的实时扫描是罪魁祸首。
*根据您的安装文件夹修改路径