我使用带有 SP1 的 Visual Studio 2010,还安装了 R# 5.1 和一些其他扩展(如 PowerCommands 和 Productivity Power Tools)。在某个时间点之后,我的调试变得非常缓慢。如果我使用 F10/F11 键进行步进,VS 会卡顿一段时间然后才会步进。如果我使用工具栏按钮进行步进,则像预期一样迅速。
你知道我的快捷键出了什么问题吗?
我使用带有 SP1 的 Visual Studio 2010,还安装了 R# 5.1 和一些其他扩展(如 PowerCommands 和 Productivity Power Tools)。在某个时间点之后,我的调试变得非常缓慢。如果我使用 F10/F11 键进行步进,VS 会卡顿一段时间然后才会步进。如果我使用工具栏按钮进行步进,则像预期一样迅速。
你知道我的快捷键出了什么问题吗?
所以,如果您安装了LastPass扩展或所有扩展,请尝试禁用它们。
编辑1 - 有人已经在LastPass论坛上发布了此信息:http://forums.lastpass.com/viewtopic.php?f=12&t=61029
编辑2 - 这个问题也在Stack Overflow上提到了: https://dev59.com/313Ua4cB1Zd3GeqP_E7_#8186670
我找到了更深入的解释来说明这个问题。
我之前遇到了这个问题,并且出现了user1110039描述的症状,但是我没有安装LastPass工具栏。我的默认浏览器是Firefox。
实际上,我的应用程序使用SetWindowsHookEx()函数来设置系统范围内的快捷键。这恰好是在64位Windows 7下阻止F10/F11调试键的原因,而在32位系统下则不会发生这种情况。
我只是从调试版本中移除了钩子,然后问题就得到了解决。我认为LastPass的问题可能是扩展代码中的某个系统范围内钩子。
SetWindowsHookEx
的使用后,问题得到了解决。 - JYeltonKeyboardHookListener
,必须调用SetWindowsHookEx
。 - Tim Rutter我曾经遇到过完全相同的问题。 通过关闭观察窗口,问题得以解决。
禁用“在源中显示线程”对我有用!
尝试使用Firefox或Chrome进行调试。与IE的交互中一定有导致此行为的原因。
我尝试了所有的建议,最终发现当我卸载了VS2005后,这个问题得到了解决。请注意,在那台机器上安装了VS2005。
很奇怪的是,键盘步进速度很慢,而工具栏按钮则没有。通常当我听到关于缓慢步进体验的建议时,我的建议是禁用自动属性和ToString
评估,因为这是最可能的原因。
我不太希望这会修复此实例。听起来像是一个处理键盘输入的行为不端扩展的问题。您最好的选择是逐个禁用扩展并查看哪个可以解决问题。我会按以下顺序进行:
(在旧帖子上做个笔记,这样可以在网络搜索中找到。)
我通常在调试期间保持==反汇编==窗口打开(我有一个大屏幕)。我刚刚发现,如果我也隐藏该窗口,则可以将调试器中的单步执行加速50%。它的-tab-可以存在并且很方便-没有影响-但是窗口本身不应该显示。啊哈。
已经遵循了所有其他建议以及来自其他地方的更多建议,单步执行现在总体上快了约8倍。(现在每秒约2.5步。)Woo-hoo!谢谢大家。
(我不明白他们如何编写如此缓慢的UI代码...我这里有一颗运行速度为20亿周期每秒的CPU...这相当于每个单步执行大约4亿条指令。似乎微软的代码可以更快一点...但是,我从未使用过.NET等。)