使用addr2line工具定位
步骤:
1. 找到addr2line.exe的路径。
我用的ndk版本是22.1.7171670,我的add2line.exe路径如下。
2. 找到so库路径,该库即为crash日志中对应的so库
可以在Android studio中快速定位,如下所示。
打开后的文件夹如下:
3. 映射crash的位置
(1)在命令行中进入到步骤1的文件夹位置。
(2)映射crash位置
在命令行中输入arm-linux-androideabi-addr2line -f -e xxx.so 0xxxxxxx,如下所示:
- 红色的线对应步骤1中addr2line.exe的名字,-f表示显示函数名, -e表示execution;
- 绿色的线对应步骤2中的so库路径
- 黄色的线对应报错的内存地址(即Crash log里pc后的字段)