我正在运行带有SP1的Visual Studio 2010,以及R#5.1和其他一些扩展(如PowerCommands和Productivity Power Tools)。在某些地方,我的调试变得非常缓慢。如果我使用 F10 / F11 键进行步骤,VS会挂起一点然后再进行步骤。如果我使用工具栏按钮进行踩踏,那就像预期的那样活泼。
知道我的快捷键有什么用吗?
答案 0 :(得分:27)
我遇到了完全相同的问题 - 使用键盘进行调试非常慢(例如 F10 )。一些症状:
因此,如果您拥有 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
评估,因为这是最可能的原因
我不太希望能解决这个问题。这听起来像处理键盘输入的行为不当扩展的问题。您最好的选择是逐个禁用扩展程序,看看哪个修复了问题。我会按以下顺序进行
答案 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是我解决这个问题的方法,但在此过程中我学到了许多其他可能很容易成为原因的事情。此问题的各种其他有效答案(本页各种答案中的一些)在此处得到验证和解释:
本文解释了这个 F10 减速可能来自各种诊断窗口和工具栏打开,符号加载问题等,并且还解释了一般如何处理调试速度减慢。这是一次开眼界的教育,如果 F10 放缓,我认为将来会继续帮助我。
答案 12 :(得分:0)
我尝试了所有的建议,最后发现当我卸载VS2005时,这个问题得到了解决。请注意,在那台机器VS2005
答案 13 :(得分:0)
在我的情况下,导致延迟的是Visual Studio版本15.9.13中的调用堆栈窗口。
即使我跨过一个非常简单的行,如++i;
,调试器也要花费大约1或2秒钟才能移至下一行。关闭“呼叫堆栈”窗口后,立即为我修复了该问题。