Visual Studio 2010 F10 / F11步进慢,工具栏步进很好?

时间:2011-04-11 15:02:05

标签: visual-studio-2010 debugging

我正在运行带有SP1的Visual Studio 2010,以及R#5.1和其他一些扩展(如PowerCommands和Productivity Power Tools)。在某些地方,我的调试变得非常缓慢。如果我使用 F10 / F11 键进行步骤,VS会挂起一点然后再进行步骤。如果我使用工具栏按钮进行踩踏,那就像预期的那样活泼。

知道我的快捷键有什么用吗?

14 个答案:

答案 0 :(得分:27)

我遇到了完全相同的问题 - 使用键盘进行调试非常慢(例如 F10 )。一些症状:

  • 如果我单击工具栏上的Step Into,那么一切正常,
  • 调试期间的延迟不仅存在于Visual Studio中,而且存在于任何地方(记事本,浏览器......),
  • 如果我将任何其他浏览器设置为Visual Studio中的默认浏览器(我试过Firefox),那么它可以正常工作,
  • 如果我在IE中禁用第三方浏览器扩展,那么它可以正常工作,
  • 如果我启用第三方浏览器扩展并禁用LastPass,则问题就会消失,使用键盘进行调试的速度会很快!

因此,如果您拥有 LastPass 扩展程序,请尝试停用此功能。

Edit1 - 有人已经在LastPass论坛上发布了这个:http://forums.lastpass.com/viewtopic.php?f=12&t=61029

Edit2 - 此处也是SO :) https://stackoverflow.com/a/8186670/1110039

答案 1 :(得分:13)

我已经找到了解决这个问题的更深层次的解释。

我遇到了这个问题,症状是user1110039描述但我还没有安装 LastPass 工具栏。我的默认浏览器是Firefox。

好吧,我的应用程序使用 SetWindowsHookEx()功能来设置系统范围的快捷方式。这恰好是阻塞 F10 / F11 调试密钥的原因(仅在Windows 7 64位中)它不会在32位下发生。

我刚刚从调试版本中删除了钩子,它运行正常。我认为LastPass的问题是扩展代码中的一些系统范围的钩子。

答案 2 :(得分:6)

我有完全相同的问题。 关闭Watch窗口解决了这个问题。

答案 3 :(得分:1)

尝试使用Firefox或Chrome进行调试。必须有与IE的交互导致此行为。

答案 4 :(得分:1)

禁用"在源代码中显示线程"为我工作!

答案 5 :(得分:1)

在键盘设备上调用DirectInput的Acquire()函数是导致我减速的原因。这可能与SetWindowsHookEx()引起的减速有关 - 即。可能正在使用DirectInput。

答案 6 :(得分:0)

键盘步进很慢而工具栏按钮不是很奇怪。通常,每当我听到慢速步进体验时,我的建议是禁用自动属性和ToString评估,因为这是最可能的原因

  • 工具 - >选项
  • 调试器 - >取消选中“启用属性和.ToString评估”

我不太希望能解决这个问题。这听起来像处理键盘输入的行为不当扩展的问题。您最好的选择是逐个禁用扩展程序,看看哪个修复了问题。我会按以下顺序进行

  • 生产力电动工具
  • 电源命令
  • R#

答案 7 :(得分:0)

确保您已安装Service Pack 1。我相信他们在调试器中修复了至少一个重要的性能问题。

答案 8 :(得分:0)

我也经历了非常慢的一步一步调试,并通过关闭线程窗口来修复它。

答案 9 :(得分:0)

(在旧帖子上做一个说明,因此可以在网络搜索中找到。)

我通常在调试期间打开== Disassembly ==窗口(我有一个大屏幕。)我刚刚发现,如果我也隐藏了那个窗口,调试器中的单步执行可以加速50%。 -tab-它可以存在并且方便 - 没有区别 - 但窗口本身不应该显示。 AHAH。

已经跟随了其他地方的所有其他建议和更多建议,单步现在大约快了8倍。 (现在每秒约2.5步。)呜呜!谢谢大家。

(我不明白他们怎么写这么慢的UI代码......我这里有一个CPU,每秒运行20亿个周期......每一步就有大约4亿个指令。看起来像微软的代码可能会快一点......但是,我从未有过使用.NET等的乐趣。)

答案 10 :(得分:0)

我在新工作中遇到了这个问题,我们使用的是Visual Studio 2008 SP1。 (是的,我知道,我知道)。闪烁沙漏的步骤长时间延迟。我总是使用 F10 ,我甚至没有考虑过,我无法忍受改变鼠标或等待多秒钟进行简单的步骤命令。

我仔细阅读了此处和网上其他地方提供的所有解决方案,但没有任何乐趣。

终于找到了问题 - 我已经为IDE设置了我的默认语言C#。事实证明,我正在使用的项目实际上使用的是VB.NET,当我将默认语言设置为VB.NET(通过工具 - 导入和导出设置)时,调试器变得非常快,以至于我无法使用VB.NET跟上它并意外地按下我要检查的断点上的 F5

我希望这有助于其他人。

答案 11 :(得分:0)

最后,在我的浏览器(IE)中禁用Last Pass是我解决这个问题的方法,但在此过程中我学到了许多其他可能很容易成为原因的事情。此问题的各种其他有效答案(本页各种答案中的一些)在此处得到验证和解释:

http://blogs.msdn.com/b/visualstudioalm/archive/2015/03/03/make-debugging-faster-with-visual-studio.aspx

本文解释了这个 F10 减速可能来自各种诊断窗口和工具栏打开,符号加载问题等,并且还解释了一般如何处理调试速度减慢。这是一次开眼界的教育,如果 F10 放缓,我认为将来会继续帮助我。

答案 12 :(得分:0)

我尝试了所有的建议,最后发现当我卸载VS2005时,这个问题得到了解决。请注意,在那台机器VS2005

答案 13 :(得分:0)

在我的情况下,导致延迟的是Visual Studio版本15.9.13中的调用堆栈窗口

即使我跨过一个非常简单的行,如++i;,调试器也要花费大约1或2秒钟才能移至下一行。关闭“呼叫堆栈”窗口后,立即为我修复了该问题。

相关问题