2008-11-21 39 views
0

我在Windows 2003 x64上運行JBoss 4.0.5,並想知道是否有任何方法獲得所有線程的轉儲?如何在Windows上的JBoss 4.0.5中創建線程轉儲

  • 它盯着FireDaemon,所以我沒有一個控制檯窗口在哪裏按CTRL-休息。

  • 它在java 1.5下運行,所以jstack將無法工作。

  • 我試過一些有人叫做的叫做sentignal.exe的程序,我認爲它實際上會導致JBoss崩潰(不確定,但不會再嘗試它),如果這是因爲JBoss在win64下運行或者運行時本地系統和我只能訪問我不知道的「普通」用戶。它實際上在我的筆記本電腦上工作,但它是32位的,我在那裏以和JBoss相同的用戶身份運行。

有人有任何其他想法可能工作?

回答

1

我實際上找到了比什麼Gowri 建議(開始執行jsp之後)更好的方法。

其實是有辦法轉儲從服務器信息的MBean的JMX控制檯的線程,請參見Generate a thread dump with the JMX Console

+0

我知道這已經是很久以前的,但你還記得打開這個轉儲工具?我已經嘗試過使用DPA和武士,但似乎都不喜歡這種格式。 – Eldelshell 2011-03-03 11:52:32

0

您可以編寫一個jsp,它可以執行Thread.getAllStackTraces()並以易用的格式打印出堆棧元素。然後在任何時候點擊該jsp的URL會給你當時所有線程的堆棧轉儲。