2010-05-14 43 views
4

我目前正在對正在開發的Java應用程序發生一些問題。即JVM崩潰了一個段錯誤。我試圖找到hs_err.log文件,該文件應該包含一些關於該問題的有用信息。未在Linux上生成JVM hs_err.log

但是,我找不到這個文件。我用過find,locate等等,沒有任何東西。

關於爲什麼沒有生成日誌文件的任何想法?

回答

7

我認爲該文件被稱爲"hs_err_pid<pid>.log"其中<pid>是崩潰的JVM進程的進程ID。

以下內容來自JDK 5 Troubleshooting Guide

當發生致命錯誤的錯誤日誌文件hs_err_pid<pid>.log中創建(其中<pid>是 的進程的進程ID)。在可能的情況下,文件在 進程的工作目錄中創建。如果無法在工作目錄中創建文件(空間不足, 權限問題或其他問題),則會在運行 系統的臨時目錄中創建該文件。在Solaris和Linux上,臨時目錄是/ tmp。在Windows上,臨時目錄 由TMP環境變量的值指定,如果未定義,則TEMP環境變量的值爲 。

另請參閱Hotspot Specific JVM Options中列出的-XX:ErrorFile=...選項。

+0

我知道,我搜索了「hs_err *」,所以它應該找到它。我會嘗試-XX:ErroFile選項。謝謝。 – halfwarp 2010-05-14 15:23:44

+0

你也可能想起來投票選出有用的技巧...... – 2010-05-14 16:31:56

+0

*「我知道,我搜索‘hs_err *。*’,所以應該找到它呢。」 - 這取決於1)文件是否確實存在, 2)你搜索了正確的地方,3)你正確地執行了搜索。 – 2015-03-31 07:54:48