是否可以指定JVM';什么是撞车事故?

是否可以指定JVM';什么是撞车事故?,jvm,logging,java,crash-dumps,Jvm,Logging,Java,Crash Dumps,我们有一个使用JNI的桌面应用程序,它偶尔会导致JVM崩溃。幸运的是,JVM生成了一个hs_err_pidXXXX.log文件,该文件在调试此类错误时非常有用。然而,它似乎总是转到当前的工作目录,从那里挖掘它很烦人,因为我们的其他日志文件都转到特定的“日志文件位置” 是否可以为这些“崩溃转储”文件指定不同的位置?如何创建?默认情况下,堆转储在VM工作目录中名为java_pidpid.hprof的文件中创建。您可以使用-XX:HeapDumpPath=选项指定替代文件名或目录。例如-XX:Heap

我们有一个使用JNI的桌面应用程序,它偶尔会导致JVM崩溃。幸运的是,JVM生成了一个
hs_err_pidXXXX.log
文件,该文件在调试此类错误时非常有用。然而,它似乎总是转到当前的工作目录,从那里挖掘它很烦人,因为我们的其他日志文件都转到特定的“日志文件位置”


是否可以为这些“崩溃转储”文件指定不同的位置?如何创建?

默认情况下,堆转储在VM工作目录中名为java_pidpid.hprof的文件中创建。您可以使用-XX:HeapDumpPath=选项指定替代文件名或目录。例如-XX:HeapDumpPath=/disk2/dumps将导致在/disk2/dumps目录中生成堆转储。

尽管HeapDumpPath适用于堆转储,但它并不是您问题的答案。堆转储和jvm崩溃日志是两个独立的东西

要更改jvm崩溃日志的目标,请使用此选项运行java:

-XX:ErrorFile=/path/to/file.

Path/to/file是您希望JVM崩溃日志输出的位置。

-1问题是关于崩溃日志的,而不是公认的答案所指出的堆转储。这仍然是很好的信息,但不是这个问题的答案。如何使用此选项运行Java?我不能通过你来做到这一点cmd@MuhammedRefaat在控制台上:
java-XX:ErrorFile=/path/to/file.log-jar myapp.jar
Btw,在windows上使用everything()按名称搜索文件非常方便。