在Xcode断点(Mac)中没有键盘响应

时间:2014-12-01 01:13:11

标签: xcode macos breakpoints

我刚遇到一个非常奇怪的场景,在其他地方找不到任何相关信息。当Xcode在我的断点处中断时,整个系统的所有键盘输入都没有响应。我可以切换到另一个应用程序,但没有记录键击。 Xcode本身对键盘输入没有反应。

还有人见过吗?

我正在运行10.10.1和Xcode 6.1。

1 个答案:

答案 0 :(得分:0)

基于上述评论,似乎这个问题与Powerbox的幕后细节有关。进一步解释:我的应用程序是沙箱并调用NSOpenPanel。当在NSOpenPanel的完成块中断开(Xcode断点)时,我会遇到系统范围的键盘输入丢失。

键盘输入在NSOpenPanel调用之外的断点中正常运行。经过这段代码之后,我观察到我的后续操作(在完成块的后台排队)经常在NSOpenPanel完全拆除之前完成(从屏幕上消失)。我的假设是,直到NSOpenPanel从屏幕上移除(可能还有更长时间),Powerbox将不会释放对键盘的控制。

这很大程度上是假设,因为我没有实际的Powerbox代码而且无法进入它但它看起来很合适。

我通过利用打印语句并在变量检查器打开的情况下逐步执行代码来解决我的调试问题。鼠标输入继续起作用,因此您可以右键单击(如果您有一个双键鼠标)变量并至少打印其描述。

感谢Ken的帮助。

<强>更新 我现在使用dispatch_after延迟执行任何后NSOpenPanel操作。在我的系统上,延迟1秒就可以了。我真的不喜欢添加任意延迟,但这似乎有效。