JVM崩溃。如何获取错误日志或核心转储
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JVM崩溃。如何获取错误日志或核心转储相关的知识,希望对你有一定的参考价值。
我有一个使用jna调用本机dll的Java应用程序。执行我在Java中的回调并抛出“ java平台se二进制文件已停止”对话框后,程序在中间使JVM崩溃。 Java控制台日志没有用,那里什么也没有。如何在窗口中获取核心转储或其他有用的日志,以找出问题及其原因。在临时文件夹中寻找hs_err日志,但找不到它。
答案
hs_err文件通常写入JVM进程的“当前目录”中。如果该目录不可被用户写入,则将文件写入一个临时目录。您还可以告诉JVM将致命错误报告写入指定的文件。
仅当“核心文件大小” ulimit(或等效值)足够大且文件空间足够时,才会写入核心转储。默认ulimit为零。
更多信息:
另一答案
使用-XX:ErrorFile
指定错误文件。
来自Location of Fatal Error Log:
[要指定将在何处创建日志文件,请使用产品标记-XX:ErrorFile = file,其中file代表日志文件位置的完整路径。
另外,这个:
如果未指定-XX:ErrorFile = file标志,则默认日志文件名称为hs_err_pid.log,其中pid是进程的PID。
以上是关于JVM崩溃。如何获取错误日志或核心转储的主要内容,如果未能解决你的问题,请参考以下文章
如何获取 Java.exe/jvm.dll 的符号文件以分析崩溃核心转储文件?