在Linux上没有生成JVM hs_err.log

hal*_*arp 4 java linux hs-err

我目前正在开发一些Java应用程序的问题.即JVM崩溃了一个段错误.我正在尝试找到hs_err.log文件,该文件应包含有关该问题的一些有用信息.

但是,我找不到这个文件.我用过find,locate等等,什么都没用.

关于为什么没有生成日志文件的任何想法?

Ste*_*n C 7

我认为该文件被调用"hs_err_pid<pid>.log",其中<pid>是崩溃的JVM进程的进程ID.

以下内容来自JDK 5故障排除指南.

发生致命错误时,会在文件中创建错误日志hs_err_pid<pid>.log(其中<pid>是进程的进程ID).在可能的情况下,文件将在进程的工作目录中创建.如果无法在工作目录中创建文件(空间不足,权限问题或其他问题),则会在操作系统的临时目录中创建该文件.在Solaris和Linux上,临时目录是/ tmp.在Windows上,临时目录由TMP环境变量的值指定,或者如果未定义,则指定TEMP环境变量的值.

还可以查找Hotspot Specific JVM Options中-XX:ErrorFile=...列出的选项.

  • 有时可能是JVM受到严重破坏,例如来自JNI的无效地址,以完成工作.在一个不可容忍的Java异常之后调用`JNIEnv-> FatalError()`后,我没有得到一个`hs_err_*`,你会认为这样做! - 这就是把我带到这里的原因. (2认同)