我需要修复我的应用程序中的一个错误,该错误显然会导致死锁。但是我不确定死锁实际发生在哪里。当我使用 IntelliJ 的调试器暂停应用程序时,如果我能获得所有线程的列表,包括它们拥有的监视器,那将非常有帮助。例如,类似于以下文章,该文章解释了如何使用 eclipse 进行操作:
问问题
1637 次
1 回答
8
在调试模式下运行您的应用程序。等到死锁发生并暂停应用程序。转到“线程”-选项卡右键单击任意线程:
单击“导出线程...”。等待获取的线程显示如下:
Thinlet-Timer@2125 daemon, prio=1, in group 'main', status: 'MONITOR'
waiting for AWT-EventQueue-0@1397 to release lock on <0x84c> (a my.Example)
[..]
拥有监视器,阻止其他线程执行的线程显示如下:
AWT-EventQueue-0@1397, prio=6, in group 'main', status: 'RUNNING'
blocks Thinlet-Timer@2125
[..]
于 2013-09-24T10:43:17.610 回答