java - 为 Spring Boot 应用程序编写的核心转储文件在哪里

标签 java spring-boot dump

我正在 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/

相关文章:

c++ - 我如何将堆栈转储到 Arduino 中?

具有绝对路径的 Java FileNotFoundException - 无法读取或执行,但文件存在

java - 获取托管特定网站的服务器位置

java - GridBagLayout 行权重

java - 在 Spring Boot 应用程序中连接到现有 ElasticSearch 实例时出现问题

svn - 我可以进行 svn 转储并重新设置目录的父目录吗?

java - 如何在应用程序部署和应用程序启动时运行部署任务

java - 使用@Import 批注是否会创建导入文件中定义的所有bean?

spring - 禁用 Controller 的Spring Boot分段上传

string - Pyyaml中,如何用 block 样式表示空字符串和列表?