我在Windows 2003 x64上运行JBoss 4.0.5并想知道是否有任何方法可以转储所有线程?
它盯着FireDaemon所以我没有控制台窗口可以在其中进行ctrl-break。
它在java 1.5下运行,因此jstack将无效。
我尝试了一些名为sentignal.exe的程序,我认为它实际上已经崩溃了JBoss(不确定,但不会再尝试),如果这是因为JBoss在win x64下运行或者因为它运行作为LocalSystem,我只能访问一个我不知道的“普通”用户。它实际上在我的笔记本电脑上运行,但它是32位的,我在那里运行的是与JBoss相同的用户。
有人有其他想法可行吗?
答案 0 :(得分:1)
我实际上找到了比Gowri更好的方式 建议(在开始实施jsp之后)。
实际上有一种方法可以从服务器信息MBean中的jmx-console转储线程,请参阅Generate a thread dump with the JMX Console
答案 1 :(得分:0)
您可以编写一个执行Thread.getAllStackTraces()
的jsp,并以适合的格式打印出stacktracelements。然后在任何时候点击该jsp的URL将为您提供当时所有线程的堆栈转储。