为什么在VS2010中调试时控制键会“卡住”?

为什么在VS2010中调试时控制键会“卡住”?

有时,Ctrl在 Visual Studio 2010 中的调试会话期间,键会以某种方式卡住,当我按Shift+F5停止调试时,它会被重置(Ctrl+ Shift+ F5)。

有时候,这种情况会让人非常沮丧,尤其是当解决方案需要花费大量时间构建时。我该如何防止这种情况再次发生?


我刚刚发现当我执行Ctrl+时会发生这种Something情况,然后立即出现错误消息,告诉我我无法执行此操作(不是按下按键,而是组合的结果,例如剪切一些代码或注释)。


发布了一个错误报告


正如您从上面链接的错误报告页面所看到的,这个问题不太可能被修复。

答案1

此错误已在 Microsoft Connect 中报告2010 年 9 月 并报告为“在 Visual Studio 的下一个主要版本中解决”。

尽管如此,该漏洞还是在2011 年 8 月,而这次微软“无法重现该问题”。

在我看来,你可以采取两项行动:

  1. 在 Microsoft Connect 上再次报告该错误,并提供有关如何重现的详细说明。
  2. 作为一种解决方法,同时删除或替换 Crtl-Shift-F5 键盘映射。

答案2

因为 Visual Studio 使用键盘事件跟踪控制键状态,而不是在响应事件时检查它。

因此,如果将控制键的 KeyUp 事件发送到其他窗口,并且该窗口吞下该事件(标记为已处理),则 VS2010 将不会收到事件通知,然后应用程序将表现得好像 ctrl 键仍然处于按下状态,直到您再次按下并释放 ctrl(这将导致 keyup 事件)。

这纯粹是基于我所见的行为(以及您的观察)的猜测,所以我不知道为什么要费心发布此内容……

答案3

这是一个老问题,但也许这个答案会对别人有所帮助。

问题:Control 键在 VS 中似乎“卡住了”。在其他应用中运行正常。按 Ctrl 键不会切换回非 Ctrl 模式。例如,向上箭头会滚动页面而不是移动光标。

重现方法:在调试模式下按 Ctrl-V 粘贴到只读源中。

解决方法:按右 Ctrl 键。按左 Ctrl 键却不行,但按右 Ctrl 键似乎可以取消。

答案4

我在 VS2010 中重现了这个问题,步骤如下 1. 开始调试 2. 单击 ctrl+x 在锁定的页面中剪切一条线 3. 它不会让你更改 4. 现在,单击 x、s、tab、Shift+F5,你会发现错误

相关内容