Можно ли убить один поток Java из jdb? - PullRequest
4 голосов
/ 19 ноября 2011

Теоретически, JDB (отладчик Java) допускает уничтожение одного потока.На практике это возможно?Здесь я присоединяю jdb к моей JVM, у которой есть agentlib на порту 8000:

$ jdb -attach 8000
> 

Я перечисляю потоки:

> threads
Group system:
  (java.lang ...
  [...]

Я нахожу обсуждаемый поток и пытаюсь его убить:

> kill 0x21bb new java.lang.Exception("die!")
killing thead: pool-766-thread-1
> com.sun.tools.example.debug.expr.ParseException: Unable to create java.lang.Exception instance
Expression must evaluate to an object

То есть потоки не могут быть уничтожены?

Как можно создать новое исключение в jdb, чтобы дать потоку умереть?

Ответы [ 2 ]

1 голос
/ 19 ноября 2013

Следующий ответ на SO кажется только для обеспечения вашего вопроса.

Но следующего ответа возможно, ответит на ваш вопрос ...

0 голосов
/ 19 января 2014

Возможно, у вас также работает jconsole / jvisualvm. У меня была та же проблема, но затем я закрыл jconsole, команда jdb kill сработала.

...