Visual Studio中调试缓慢的问题

时间:2009-02-26 06:17:06

标签: visual-studio debugging visual-studio-2008 performance

在我的Visual Studio中,即使我只是在C#控制台应用程序中写了一行返回,按F5执行实际代码后我会花一分钟时间(我的意思是单次返回时停止的时间)按F5后的语句 - 我在Main函数的return语句中设置断点)。我想知道出了什么问题?任何检查清单?谢谢!

我在Windows Server 2003 x64上使用Visual Studio 2008 VSTS版本和调试。

提前谢谢, 乔治

24 个答案:

答案 0 :(得分:143)

您可能需要删除所有断点---请注意,您需要点击“删除所有断点”按钮(或使用Ctrl-Shft-F9),只需删除它们一。如果Visual Studio损坏了您的解决方案设置,后者将无效。您可能需要先添加断点才能使其正常工作(聪明,嗯?)。

如果最糟糕的情况发生,您可能需要删除.suo文件并让Visual Studio从头开始新的文件。请注意,您将丢失个人解决方案配置设置(仅适用于此解决方案,而不是任何其他解决方案)。但是,您可能希望暂时移动/重命名该文件,直到您确定这是否是问题;这样,你总能把它移回去。我看到一些在线资源建议删除(移动/重命名).ncb文件。

答案 1 :(得分:25)

我之前见过这个。尝试删除所有您的断点,然后设置您想要的断点。点击F5。它现在更快吗?

我刚才注意到你提到过设置.NET源代码调试功能。尝试禁用它,您与Microsoft的源服务器的网络连接可能会很慢。同时在工具>中禁用任何符号服务器连接。选项>调试>符号

另请尝试在工具>中禁用“启用属性评估和其他隐式函数调用”。选项>调试>一般

答案 2 :(得分:19)

或者删除可在解决方案(.sln)文件旁边找到的.suo文件。 这解决了调试会话需要很长时间才能启动和停止的问题。

答案 3 :(得分:12)

有这个问题。在尝试了所有列出的建议并删除所有visual studio扩展后,我们终于发现了某种方式启用了IntelliTrace。禁用修复所有内容。

http://msdn.microsoft.com/en-us/library/dd264948%28v=vs.100%29.aspx

答案 4 :(得分:6)

转到工具/选项/调试器/符号,并检查是否设置了公共符号或UNC网络路径。还要检查tools / options / debugger / general以查看是否有源服务器集。

所有这些都会影响基于慢速网络速度或不可用服务器的调试。 5分钟的等待时间是网络超时。

如果未设置任何选项,请检查是否设置了_NT_SYMBOL_PATH环境变量。

答案 5 :(得分:6)

你有很多断点吗?那些可以真正减慢启动时间。每次将新模块加载到进程地址空间时,都需要检查它们是否有效。

答案 6 :(得分:6)

我的同事有一个非常慢的响应Visual Studio,它在调试时花了几分钟来执行一步。根本原因结果是一个反病毒程序(threatfire),在VS运行时发疯了。杀死它的过程立即修复了一切。

答案 7 :(得分:5)

在我的情况下,更改调试符号"自动加载符号"选项来自"所有模块"到"只指定模块"解决了这个问题。您可以从工具 - >更改此选项选项 - >调试 - >符号

答案 8 :(得分:3)

另一个原因加上...... 如何找到问题

对我来说,这是选项 ShowOtherThreadIpMarkers。值= 1使得vs(2010)难以忍受缓慢(每个调试步骤3-5秒。值为0再次快速。

那是什么选择?我不知道。我无法通过vs用户界面找到它。 我在那里取消选中所有可能的调试选项,但没有任何效果。

所以我去了导入导出设置并加载了我之前保存的旧设置,直到vs再次快速,然后比较vssettings文件......等等。

我想说的是,如果在断点处停止调试模式时加载设置,它们会立即生效。 您不必停止调试器并重新启动。

答案 9 :(得分:2)

来自特拉维斯链接的ScottGu的博客:“我最近听到的其他一个性能问题是一些人报告用谷歌工具栏加载项遇到的问题。出于某种原因,这有时会造成长时间的延迟。将Visual Studio调试器附加到浏览器。如果您看到加载Web应用程序时出现长时间延迟,并且安装了Google工具栏(或其他工具栏),您可能需要尝试卸载它们以查看是否是问题的原因。“

答案 10 :(得分:1)

确保您没有任何过时的网络映射到不再存在的服务器(网络超时会扼杀您)。或者使用类似Process Monitor之类的内容来查看网络(或其他文件错误)是否会长时间阻塞。

答案 11 :(得分:1)

Visual Studio调试体验缓慢的另一个原因......

很久以前我启用FusionLog来查看导致程序集绑定问题的原因。

确保在使用后将其禁用。为什么?因为它在启用时会将大量日志记录数据写入磁盘。

这是Window的注册表[FusionLog]上的regedit.exe键:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion

ForceLogLogImmersiveLogResourseBindings值从1启用更改为0禁用。

答案 12 :(得分:1)

对我来说,杀死性能的设置(除了鼠标移动之外,窗口8甚至被挂起)是在选项 - >中UNCHECK“在一个进程中断时中断所有进程”。调试 - >一般

希望这有助于任何人。

答案 13 :(得分:1)

我在VS2010中遇到了同样的问题,因为代码速度极慢(3到10秒之间)。但是,上述设置修改都没有成功。 我最终找到了最终解决方案,它可以解决上述所有问题:重置所有设置,如here所述。

您可能首先要保存设置的特定部分,例如我首先保存了我的颜色主题(类似Solarized),然后在全局重置后恢复它。

答案 14 :(得分:1)

对我来说,在调试器下运行比没有调试运行慢大约10倍。

在尝试了此处建议的每个解决方案后,我完成了每个调试器设置并启用/禁用,看看它是否有所作为。

对我来说,事实证明在调试设置大规模中禁用抑制模块加载时的JIT优化可以改进。

答案 15 :(得分:1)

就我而言,Google工具栏正在减慢我的调试速度。 gplus_notifications_gadget.html只是继续重载调试器。我想保留Google工具栏,因为我经常使用它,所以我只是禁用了G +通知按钮(个人资料按钮旁边的小按钮。)现在很高兴。

答案 16 :(得分:1)

我知道这是一个古老的话题,但值得一提......

我发现如果我有一个单独的IE窗口打开很长时间,可能需要一分钟才能开始调试。关闭所有IE窗口并立即开始调试。

答案 17 :(得分:1)

您是否使用Symbol Server下载Windows DLL的符号?

如果是这样,请禁用它,因为它可能需要一些时间,但我不希望这会导致基本控制台应用程序长时间延迟。

工具>选项>调试>符号

答案 18 :(得分:0)

关闭“Autos”窗口改进了vs2008中针对大型本机c ++解决方案的调试。隐藏它不起作用,需要关闭。

答案 19 :(得分:0)

我有类似的问题,其他指导似乎都没有帮助。我重新启动无济于事。我删除了所有断点,删除了suo文件,检查了没有从外部源加载符号,并检查应用程序中是否存在不可用的路径。

然后,我想清理解决方案。我注意到在输出窗口中C#IntelliSense在清理时报告了一个问题:

  

读取元数据时出现问题   从   '{B0C3592F-F0D1-4B79-BE20-3AD610B07C23}'   ('系统无法找到该文件   指定。')。智能感知可能不会   在解决方案之前正常工作   重新加载。

在这种情况下,一旦您确实发现了错误消息,它就会告诉您如何解决它。 (错误文本很好,可发现性差!)我卸载了解决方案的项目,然后重新加载它们。然后我能够成功运行清洁解决方案。它工作正常,调试器也一样。

HTH

答案 20 :(得分:0)

对我有用的东西是确保没有条件断点。除此之外,我通过简单地重新启动visual studio并且一次只打开一个visual studio实例来成功修复慢速调试。希望它对某人有帮助......

答案 21 :(得分:0)

我也有这个问题,但在我的情况下它与断点无关。这是我在任务窗口中添加的代码快捷方式:

http://www.customsoftwareframeworks.com/blog/longwaittimetoinsertoraddalineoftextbuginvisualstudio--tasklistwindow--onlywhenaddingandremovelines

我确定还有其他方法可以看到这样的问题,但是某个地方有一个错误导致了我的问题...删除我的所有选项会解决这个问题,但这是我做过的事情不想做。所以,我调试了它并在我的博客中写了它...你的问题听起来像我的。

感谢。

答案 22 :(得分:0)

我经历了相同的减速,并且断开网络连接解决了我的问题,因为其他一些评论和答案已经说明(但当然这不是一个理想的解决方案)。

对于我的情况,这一个简单的更改修复了我的解决方案:在调试选项卡上的项目属性中,我禁用了“启用Visual Studio托管过程”。 (我正在运行VS2010)

答案 23 :(得分:-9)

获得更多内存和更快的高清。 More details here