我正在 Windows 中使用 winsw
启动 Spring Boot 应用程序,在它崩溃后,我在任何地方都找不到 Java 核心转储文件。
Java 核心转储文件位于何处?
谢谢。
最佳答案
Java 核心转储在 Windows 上的位置问题变得有点复杂。最常见的答案是:
-
$JAVA_HOME/bin
- 进程的当前工作目录
该文件通常命名为 hs_err_<PID>
.
但是,您可以告诉 Java 在哪里写入转储文件,而不是猜测。
在 Oracle JVM 中,默认的 JVM 参数是:-XX:HeapDumpPath
。例如:
-XX:HeapDumpPath=/path/to/dumps/directory/java_pid<pid>.hprof`
IBM 提供了自己的风格:-Xdump
。例如
-Xdump:heap:label=/path/to/dumps/directory/heapdump.%Y%m%d.%H%M%S.%pid.%seq.dump
-Xdump:java:label=/path/to/dumps/directory/core.%Y%m%d.%H%M%S.%pid.%seq.dump
如果你运行 -Xdump:what
然后启动时日志事件将被写入 STDOUT,显示您选择的各种转储参数。
关于java - 为 Spring Boot 应用程序编写的核心转储文件在哪里,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46292494/