在上一篇《jvm crash(崩溃)文件 hs_err_pid.log 分析教程》中,我们可以看到 jvm crash 后生成的 hs_err_pid.log 文件非常的复杂,非常的难懂!那么有没有一款工具能帮助我们来分析它呢?且看本文给你推荐的这款工具 CrashAnalysis 的用法。
CrashAnalysis 简介
CrashAnalysis 是一款诊断工具。是某APM项目组成员编写,里面把常见的问题分类并且给出解决方案或者方向,帮助我们定位问题。 下面是这款工具的 github 地址:
https://github.com/xpbob/CrashAnalysis
使用教程
CrashAnalysis 使用起来非常的简单和人性化。通过执行jar命令,把log作为参数输入 java -jar CrashAnalysis-1.0-SNAPSHOT.jar ${hs_err_pid.log}
java -jar CrashAnalysis-1.0-SNAPSHOT.jar ${hs_err_pid.log}
是不是用起来比较自己看 hs_err_pid.log 文件简单多了。
CrashAnalysis-1.0-SNAPSHOT.jar 这个文件在上面的仓库中有一个打包好的,大家可以直接下载使用。
默认的它是用 jdk 1.8 编译的,如果你的 jdk 版本过低,建议自己下载代码,自己编译这个 jar 文件。
诊断效果
执行完,上面的命令后,会有诊断信息的 tab 页,里面会告诉我们分析结果。 例如下面的报告:
这是一个解释器的问题,就是jvm把字节码转化成机器码出错了。 引起这种情况的原因有很多,一般都是jdk的bug 可以更换不同的jvm模式 例如-XInt,纯解释模式 在运行过程信息中有编译情况,可以查看具体编译到谁出错了 可以通过排除编译这些类来试试
很惊奇吧,全中文内容。傻瓜也能看懂。
最后说一下,虽然有工具可以帮助我们,但是工具不是万能的。只有自己写好代码,多学习,多进步,拥有扎实的技术实力才能笑看一切众生!
: » jvm hs_err_pid.log 文件分析工具 CrashAnalysis 使用教程
原创文章,作者:wdmbts,如若转载,请注明出处:https://blog.ytso.com/251867.html