在 Eclipse 中调试时,UI 完全冻结。我该如何找出问题所在?

在 Eclipse 中调试时,UI 完全冻结。我该如何找出问题所在?

我正在使用 Ubuntu 13.10 并使用 Eclipse 4.3 调试 Java Swing 事件。

在特定时刻,我的应用程序会显示一个弹出菜单,此时我的 UI 会冻结。鼠标指针只能移动,但没有任何响应。

为了结束冻结,我转到 TTY1,查找最新的 java 进程并将其终止。

我想找出导致此错误的原因。这是系统错误还是有什么问题?我关心的原因是,我只想针对该单个兴趣点进行调试 :-)

日志文件没有显示任何重要条目(但我对此并不完全确定)。xsession-errors 没有更新,如果我使用 -9 终止进程,情况仍然很尴尬:按键事件有效,但鼠标仍然无法正常工作。直到我关闭 Eclipse。

在我看来,这是与内存相关的标志。但 top 和 UI 工具显示剩余内存足够。

那么我该怎么做才能找到这个问题的根源呢?

答案1

如果你以前没有使用过,有一个很好的方法可以调试任何本地 Java 应用程序的问题,可视化虚拟机确实有助于解决服务器进程失控问题。它以 GUI 应用程序的形式启动,并附加到在同一 jvm 中运行的任何 Java 应用程序。如果 Eclipse 在工作时被锁定,这至少会让您知道哪些方法被卡住了。

相关内容