如何分析JVM崩溃文件hs_err_pidXYZ.log

red*_*hka 10 java jvm

在Eclipse和Tomcat(wtp)中处理webapp时,tomcat崩溃并创建一个文件:hs_err_pid20216.log

我试图使用eclipse MAT来分析文件,但MAT不能将文件识别为它可以处理的东西,我也尝试了DAT,它也是一样的.它不会显示在打开的文件对话框中.

它是什么类型的文件?

我应该用它来分析它?

我是否必须对此文件进行更改,以便这些工具可以对其进行解析.

日志文件可用作GitHub要点

更新:

有关如何处理hs_err_pidXYZ.log文件的更多信息,请参阅@Dan Cruz回复.奇怪的是,崩溃的原因是杰克逊被一个循环关系(双向一​​对多)弄糊涂了,但这是另一个故事......

Dan*_*ruz 8

它是什么类型的文件?

它是文本格式的HotSpot错误日志文件.

我应该用它来分析它?

首先下载OpenJDK 6源包.*.cpp在错误日志中搜索热点文件中的字符串.查看源文件以获取错误日志包含的说明.

例如,使用OpenJDK 7源,您可以siginfoos::print_siginfo()方法中找到(操作系统过程信号信息)os_linux.cpp,Registers(CPU注册的值)os::print_context()方法os_linux_x86.cpp等.

我是否必须对此文件进行更改,以便这些工具可以解析它.

这是不可能的,因为Eclipse Memory Analyzer需要一个堆文件,HotSpot错误日志不需要.


Ami*_*hti 5

https://fastthread.io对文件进行了很好的描述性分析。它只需要上传它,它将提供以下项目:

  1. 崩溃的原因
  2. 推荐解决方案
  3. 活动线程(当应用程序崩溃时)
  4. 核心转储位置
  5. 所有线程
  6. ...