2010-05-14 61 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