我有一个 GUI 组件,如果我保持打开状态,它会在几个小时后卡住我的 Java 桌面应用程序。它看起来像一个僵局,可能涉及 Event Dispatching Thread .
一旦应用程序被卡住,我尝试运行 jconsole、jstack 和 jvisualvm 来分析线程转储,但所有 3 个都失败(给出各种异常,归结为“无法连接到进程”)。
是否有另一种方法来诊断卡住的应用程序并找出发生了什么?
ps:关于信息,GUI 组件是嵌入在 Swing 面板中的 Java FX 2 表格 - 它可以正常打开,对各种交互 react 良好,可以关闭,但一段时间后会卡住应用程序。
最佳答案
在卡住之前附加 jconsole。
在崩溃之前监控应用程序可能是您获取有用信息的唯一选择。
我会考虑将其报告为 jstack/jconsole/jvisualvm 错误。您可能会从相同的开发人员那里获得一些很好的故障排除提示或“无法连接到进程”异常的解释。
关于java - 诊断卡住的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10716253/