在 Eclipse 和 Tomcat (wtp) 中处理 Web 应用程序时,tomcat 崩溃并创建一个文件:hs_err_pid20216.log
我尝试使用 eclipse MAT 来分析该文件,但 MAT 无法将该文件识别为它可以处理的文件,我也尝试了 DAT,但结果是一样的。它不会显示在打开文件对话框中。
它是什么类型的文件?
我应该用什么来分析它?
我是否必须对此文件进行更改,以便这些工具可以解析它。
日志文件可作为GitHub 要点 https://gist.github.com/2350178#file_hs_err_pid20216.log
UPDATE:
有关如何处理 hs_err_pidXYZ.log 文件的更多信息,请参阅@Dan Cruz 回复。出于好奇,崩溃的原因是杰克逊被循环关系(双向一对多)所困惑,但这是另一个故事......
它是什么样的文件?
它是文本格式的 HotSpot 错误日志文件。
我应该用什么来分析它?
首先下载OpenJDK 6 源包 http://download.java.net/openjdk/jdk6/。通过热点搜索*.cpp
错误日志中字符串的文件。查看源文件以获取错误日志包含内容的说明。
例如,使用 OpenJDK 7 源,您可以找到siginfo
(操作系统进程信号信息)中os::print_siginfo()
的方法os_linux.cpp http://hg.openjdk.java.net/jdk7/jdk7/hotspot/file/81d815b05abb/src/os/linux/vm/os_linux.cpp, Registers
(CPU寄存器的值)在os::print_context()
的方法os_linux_x86.cpp http://hg.openjdk.java.net/jdk7/jdk7/hotspot/file/81d815b05abb/src/os_cpu/linux_x86/vm/os_linux_x86.cpp, etc.
我是否必须对此文件进行更改,以便这些工具可以解析它。
这是不可能的,因为Eclipse 内存分析器 http://www.eclipse.org/mat/需要堆文件,而 HotSpot 错误日志则不需要。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)