2008-12-03 68 views
10

來自JVM崩潰的日誌文件包含用於調試的各種有用信息,例如加載的共享庫和完整的環境。我可以強制JVM以編程方式生成其中的一個;通過執行崩潰或其他方式的代碼?或者以另一種方式訪問​​相同的信息?我可以強制生成JVM崩潰日誌文件嗎?

回答

0

我非常確定這可以用IBM JDK來完成,因爲前一段時間我正在玩堆棧分析器。一個強制轉儲的選項只會導致outOfMemoryException。

這些工具可以提供一些線索http://www.ibm.com/developerworks/java/library/j-ibmtools1/

+0

該鏈接似乎只是針對IBM客戶提供的工具,其中我不是其中的一員。 – DJClayworth 2008-12-03 16:54:32

2

看一看的JDK Development Tools,特別是Troubleshooting Tools傾倒堆,打印配置信息,等等。

+0

這些工具中,[`jstack`](http://docs.oracle.com/javase/6/docs/technotes/tools/share/jstack.html)似乎是最有前途的,形式爲`jstack -l - F -m `(如果進程未掛起,則不需要`-F`)。這樣就可以以混合模式(Java和本機)和鎖定的同步器獲得所有線程的堆棧,即使進程已掛起。 – PJTraill 2015-05-28 14:10:53

+0

或者查看適用於Oracle Java 8的https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/toc.html(以前的鏈接是6,但可能並不是非常不同的內容)。 – PJTraill 2015-05-28 14:16:31