2009-04-30 73 views
9

我正在使用VS2008,正常的中型解决方案。调试有时非常慢

有时,调试步进变得非常缓慢。挂锁在每个“步骤”(F10/F11)的每个文件选项卡上呈现,并且每个步骤最多可能需要两秒钟。这使得调试非常烦人和缓慢。有没有人看到这个问题?

+0

问题过去很脏,但仍然相关,因为它只是发生在我身上。就我而言,答案只是确保“调用堆栈”窗口未激活。它通常与“Auto”,“Locals”和“Watch”堆叠在一起,因此只需点击其中一个即可将“Call Stack”放入背景中。 – JPNotADragon 2016-01-18 16:51:45

+0

wrt @ JPNotADragon的回答:停用调用堆栈窗口(即切换到另一个窗口)也可以在调试(步进以及检查变量)时奇迹般地解决我的性能问题。更重要的是,在** re **激活调用堆栈窗口后,perf问题没有返回。 – bvgheluwe 2016-12-02 12:32:11

回答

0

是,Visual Studio是在调试非常缓慢有时候还有一些额外的步骤(除了关闭“启用属性评估”设置),您可以采取这些步骤来加快此过程。实质上,它需要大量的RAM,所以执行一些事情来释放它将会有所帮助。

  1. 进入Visual Studio的首选项。查找与动画菜单等有关的所有选项。这些趋势有时会很紧张,但并不特定于调试,因为您通常不打开菜单,似乎有帮助。

  2. 在电脑本身,如果你在我的电脑上单击鼠标右键。转到高级选项卡并在性能下。如果您调整计算机以获得最佳性能,它会加快速度。它可以消除计算机上的任何不错的风格,但它会释放一些你想要的内存。

  3. 关闭所有不必要的程序。您可以为Visual Studio提供的内存越多,其行为就越好。

+2

@kaze我已经介绍了许多Visual Studio的速度降低,我从未见过这些是一个重要的因素。 1)在调试过程中,菜单不应该有明显的动画效果,特别是如果您使用键盘快捷键进行单步操作。 2)任何功能强大的机器(足够的内存,CPU,合理的GPU)都可以处理默认的性能设置。 3)如果你的电脑没有足够的内存,最后的提示只适用。 在Source中显示线程和过多的断点可能会导致Visual Studio运行速度更慢。这些建议的答案更有用。 – 2014-12-02 18:36:01

0

Here's a link to some guidance on Mike Stahl's MSDN blog,对于解决调试怠工

我碰到这个跑了,因为在我的应用程序的热点条件断点杀了我的调试性能。个人BKM:在您离开之前解决潜在的表现问题,因为您可能在早上不记得他们。

17

我注意到在VS 2008中,如果你有“在源显示主题”按钮调试工具栏,步进可以至少慢10倍的选择。

我也注意到,如果您的应用程序需要很长的时间在调试模式下,如果你简单地“删除所有断点” Debug菜单下这样可以解决启动。这为我解决了一个烦人的问题,即使我当时只设置了一些断点。

西拉

7

禁用显示版面中源在Visual Studio。并关闭调用堆栈跟踪窗口。

Disable Show Threads In Source. after Press debug Button

+0

+1为我工作:)。 – MichaelMocko 2011-11-30 10:55:16

5

除了上面提到的所有问题。

A“拆卸”标签(在后台打开)减慢每步1-2秒的调试。 (不知道它是否总是像这样发生)。

+0

这是我的情况,关闭属性评估帮助,但关闭反汇编窗口使调试速度更快(从大约3秒降到几乎瞬间)......谢谢! – Martin 2013-09-17 08:54:16

1

有很多事情会导致Visual Studio速度变慢。源代码中过多的断点和显示线程可能是最常见的两种,但您并不关心哪些最常见,您关心的是什么使Visual Studio缓慢 *您*。

因此,如果删除断点并关闭源中的显示线程不起作用,那么您需要配置Visual Studio。这可以让你发现性能问题,这对你的情况是独一无二的。如何做到这一点(它解决了两个独立的Visual Studio的性能问题)的解释可以在这里找到:性能问题

http://randomascii.wordpress.com/2013/03/03/visual-studio-single-step-performance-fixes/

更多的调查在其他人的代码在这里详细介绍:

http://randomascii.wordpress.com/category/investigative-reporting/

0

单步缓慢的另一个原因是使用Intellitrace(仅在Ultimate中提供)。要关闭它,请选择Tools |选项| IntelliTrace进行。取消选中启用IntelliTrace。

0

“显示线程源代码”建议没有帮助。

但我通过启用工具来修复它:选项:调试:常规 - >“要求源文件与原始版本完全匹配”。

最初没有选中矿井,但是在改变它之后,通过VS2008中的代码逐步恢复正常速度。

-1

清除监视窗口中的所有条目。

0

什么帮助我禁用了诊断工具。

工具/选项/调试/一般/启用诊断工具

的Visual Studio 2015年(14版)

0

我经历了这个问题,使 “.NET框架源步进” 之后。关闭后步进速度快了很多。特别是,重新启用“启用我的代码”(选项>调试>常规)后,我移除了大约一半的滞后时间。

另一半是由加载比我需要的更多符号(选项>调试>符号)造成的。有一次,我需要定义符号位置,但我没有了,所以我可以取消全部选中它们并单击“空符号缓存”。如果列出了_NT_SYMBOL_PATH,则表示您已定义此环境设置,并且Visual Studio不会让您取消选中它。您需要删除设置。更多关于符号设置(https://blogs.msdn.microsoft.com/visualstudioalm/2015/01/05/understanding-symbol-files-and-visual-studios-symbol-settings/

0

我有同样的问题,我删除了所有的变量手表,它帮助了很多!由于调试过程中的每一步都会重新加载所有手表,并且需要时间...

解决方案:从Debug菜单中选择Windows,然后选择Watch,然后单击Watch1,Watch2,Watch3或Watch4。菜单将会出现,并右键点击它们将其全部清除。

0

如果您有病毒扫描程序(启用实时扫描),请检查C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Remote Debugger\x64\msvsmon.exe *是否为,扫描时将排除在外。

就我而言,在全公司推出新病毒扫描程序后,调试变得非常缓慢。过了一段时间,我们发现msvsmon.exe的实时扫描是罪魁祸首。

*根据您的安装文件夹修改路径