我有一个偶尔会死锁的应用程序(比如每月一次)。
现在,我第一次在 Eclipse 调试器中运行时重现了这种情况。
似乎所有线程都在等待 WriteLock 被释放。
我需要一种方法来找出(200 个)线程中的哪个持有锁。
但是在 eclipse 中暂停线程并检查没有产生任何结果,因为 eclipse 告诉我它无法访问我想要查看的变量,因为线程被手动挂起。
我不想重新启动应用程序,因为我不知道我是否可以设法再次陷入这种僵局。
那么如何找到锁持有人呢?
编辑:我已经尝试过 jstack 让我成为线程转储。但是我只能找到等待锁但没有持有它的线程。