9

我正在使用 JNI,当目标应用程序中的错误导致崩溃时,会生成一个 hs_err_pid*.log 文件。我想更改存储该文件的默认位置。现在,通过四处搜索,我了解到这可以使用 JVM 参数 -XX:ErrorFile 来实现。

文档说这个参数的默认值是./hs_err_pid <pid >.log

现在,当我覆盖默认值时,如何告诉 JVM 仍然在文件名中包含进程 ID?我显然试图将 targetDir/hs_err_pid <pid >.log 作为命令行参数,但这导致整个参数被忽略(并且文件被存储到默认位置,即工作目录)。如果我只说 targetDir/hs_err_pid.log 文件存储在我想要的位置,但不会获得附加到文件名的进程 ID。

任何建议,将不胜感激。

4

2 回答 2

16

尝试

-XX:ErrorFile=targetDir/hs_err_pid_%p.log
于 2014-03-24T19:18:35.747 回答
0

在 Windows 中:

-XX:ErrorFile=C:\targetDir\hs_err_pid_%%p.log
于 2015-12-08T17:17:01.480 回答