Java 如何/在何处查找线程已锁定的位置?

Java 如何/在何处查找线程已锁定的位置?,java,eclipse,Java,Eclipse,我遇到了一个问题,我的游戏中的一个关键线程被锁定了,原因不明 如何找到线程被锁定时试图执行的代码行 我正在使用EclipseIDE 谢谢 当应用程序被阻止时,您需要执行线程转储。从控制台上看,它应该类似于: jstack <pid> jstack 或: kill-3 其中是运行应用程序的jvm的进程id 这将告诉您线程被阻塞的确切位置以及导致执行这段代码的stacktrace。您可以使用Eclipse调试器来执行它。不要通过“正常运行”按钮运行应用程序,但要使用除此之外的“调试

我遇到了一个问题,我的游戏中的一个关键线程被锁定了,原因不明

如何找到线程被锁定时试图执行的代码行

我正在使用EclipseIDE


谢谢

当应用程序被阻止时,您需要执行线程转储。从控制台上看,它应该类似于:

jstack <pid>
jstack
或:

kill-3
其中
是运行应用程序的jvm的进程id


这将告诉您线程被阻塞的确切位置以及导致执行这段代码的stacktrace。

您可以使用Eclipse调试器来执行它。不要通过“正常运行”按钮运行应用程序,但要使用除此之外的“调试”按钮

玩你的游戏,创造一个以僵局告终的局面。然后可以转到Eclipse并切换到调试透视图。您将看到所有正在运行的线程和执行的方法(确切地说是完整的堆栈)


您是要告诉我们您使用的是哪种编程语言,还是我们需要猜测?@greg-449我使用的是Eclipse。虽然它可能是任何编程语言,但我正在IDE中寻找一些可以告诉我这一点的东西,这意味着我不知道语言是如何重要的。我使用的是java。当然,这很重要,可用的工具因编程语言的不同而有很大差异。@greg-449啊。我从来不知道。
kill -3 <pid>