Java 如何在IntelliJ IDEA调试器中检查线程是否为守护进程线程?
我正在对JOGL应用程序关闭进行故障排除。由于应用程序没有正确终止,我想知道是哪个线程导致了这种情况。有没有办法在调试器中检查哪些线程是线程Java 如何在IntelliJ IDEA调试器中检查线程是否为守护进程线程?,java,debugging,intellij-idea,jvm,Java,Debugging,Intellij Idea,Jvm,我正在对JOGL应用程序关闭进行故障排除。由于应用程序没有正确终止,我想知道是哪个线程导致了这种情况。有没有办法在调试器中检查哪些线程是线程 如果IDE中没有关于此的内容,是否有其他方法来检查此内容,或者我可以输入一些聪明的表达式作为监视表达式来列出非deamon线程?如果可以设置断点,则可以使用call求值表达式(Alt+F8)并键入Thread.getThreads()如果是deamon,则可以检查每个线程。如果可以设置断点,则可以使用调用求值表达式(Alt+F8)并键入thread.ge
如果IDE中没有关于此的内容,是否有其他方法来检查此内容,或者我可以输入一些聪明的表达式作为监视表达式来列出非deamon线程?如果可以设置断点,则可以使用call
求值表达式(Alt+F8)
并键入Thread.getThreads()
如果是deamon,则可以检查每个线程。如果可以设置断点,则可以使用调用求值表达式(Alt+F8)
并键入thread.getThreads()
如果是deamon,则可以检查每个线程。右键单击堆栈框架,然后单击“导出踏板…”。
它将创建每个线程及其堆栈和其他内容的文本描述,但最重要的是守护进程线程旁边会显示“守护进程”
"RMI Scheduler(0)@4275" daemon prio=5 tid=0x14 nid=NA waiting
java.lang.Thread.State: WAITING
at jdk.internal.misc.Unsafe.park(Unsafe.java:-1)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234)
...
在堆栈框架上单击鼠标右键,然后单击“导出踏板…”。 它将创建每个线程及其堆栈和其他内容的文本描述,但最重要的是守护进程线程旁边会显示“守护进程”
"RMI Scheduler(0)@4275" daemon prio=5 tid=0x14 nid=NA waiting
java.lang.Thread.State: WAITING
at jdk.internal.misc.Unsafe.park(Unsafe.java:-1)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234)
...
注意:在将支持添加到调试器中时存在问题:注意:在将支持添加到调试器中时存在问题:或者,当您中断特定线程时,可以计算
Thread.currentThread().isDeamon()
。或者,当您中断特定线程时,可以计算Thread.currentThread().isDeamon()
。