Java 如何在IntelliJ IDEA调试器中检查线程是否为守护进程线程?

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

我正在对JOGL应用程序关闭进行故障排除。由于应用程序没有正确终止,我想知道是哪个线程导致了这种情况。有没有办法在调试器中检查哪些线程是线程


如果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()