В консоли нажмите V вместо T:
t: dump thread list
v: dump thread stack
Это работает под JDK6. Не знаю о других.
В качестве альтернативы, в JDK5 (и, возможно, ранее) вы можете отправить полную трассировку стека всех потоков на стандартный выход:
Под Windows: введите ctrl-break в консоли Java.
Под Unix: kill -3 <java_process_id>
(например, kill -3 5555). Это НЕ убьет ваше приложение.
Еще одна вещь: как говорят другие, вы можете получить стеки программно с помощью класса Thread
, но следите за Thread.getAllStackTraces()
до JDK6, поскольку есть утечка памяти.
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6434648
С уважением,
Скотти