一、背景说明
在项目正常启动后,运营一段时间后,发现java进程死掉JVM崩溃,在项目服务器中生成hs_err_pid.log 错误日志,下面介绍一下hs_err_pid.log 日志中的 Instructions 信息的解析。
二、解析 Instructions 信息中机器码信息
将 Instructions 信息中的机器码信息转换为汇编码
其中Instructions信息如下所示:
Instructions: (pc=0x00007f029d015be0)
0x00007f029d015bc0: 00 00 00 e8 18 d3 83 15 48 8b 04 24 48 83 c4 10
0x00007f029d015bd0: c5 fb 10 04 24 48 83 c4 10 4c 8b 5d 18 41 ff d3
0x00007f029d015be0: 4c 8b 5d f8 c9 5f 49 8b e3 ff e7 be 00 00 00 00
0x00007f029d015bf0: e8 05 00 00 00 e9 7b 00 00 00 48 8d 44 24 08 4c
1、准备java capstone环境
引入Maven capstone jar包
<dependency>
<groupId>com.github.transcurity</groupId>
<artifactId>capstone</artifactId>
<version>3.0.5-rc2</version>
</dependency>
2、下载capstone.dll 文件
下载地址&