“在 gnome 3 (ubuntu 17.10) 中调试时出现“没有响应”

“在 gnome 3 (ubuntu 17.10) 中调试时出现“没有响应”

每次我使用来自 OpenGL(libGDX 框架)的图形一步一步地(在我的 IDE 上)调试 Java 游戏时,Gnome 3 都会冻结游戏窗口并将我的鼠标事件锁定在该窗口之外,由于无响应的窗口(正在调试的游戏),要求强制退出或等待。

我如何在以后忽略该消息(或延迟它)?我无法使用该打开的对话框调试任何内容,即使我按等待(大约 2 秒后对话框再次出现)?

注意:CPU 使用率为 1%。

答案1

此错误已修复。Ubuntu 18 的反向移植版本已于 2019-6-6 发布,名为 gnome-shell 3.28.4。请参阅如何禁用“窗口无响应”对话框

根本原因是用于交互式程序的 gnome API。一旦激活此 API,gnome 就会期望应用程序收集事件并及时响应,并且应用程序会发送某种心跳来证明它正在响应。当应用程序停止发送心跳时,gnome 会调出此对话框。

答案2

另一件需要考虑的事情是,在单步执行代码时,如果您到达了应用程序需要用户输入的点:键盘输入、鼠标移动等。如果应用程序现在被锁定以等待该输入,它将卡在那里,但您正在调试器中,单步执行到下一行代码。因此,您的应用程序永远不会到达那里,因为它在等待,并且调试无法继续,因为它在等待应用程序完成其正在做的事情。

这叫做致命的拥抱

答案3

检查您的 CPU 或 RAM 使用情况。考虑到正在发生的事情,这可能是一个简单的硬件瓶颈。大多数 IDE 会占用大量系统资源,我怀疑您的 IDE 也不例外。我发现了一个奥莱利书中指出,随着时间的推移,OpenGL API 变得越来越臃肿。尝试终止一些任务,然后再查看。可能还有一些关于禁用重复对话框的信息这里

相关内容