## 问题描述 已经成功获取 crashLog.txt, 但是解析的时候遇到错误: ``` york@ubuntu:~/AndroidStudioProjects/Chapter01/tools/mac$ aarch64-linux-android-addr2line -f -C -e /home/york/AndroidStudioProjects/Chapter01/sample/build/intermediates/transforms/mergeJniLibs/debug/0/lib/armeabi-v7a/libcrash-lib.so 0x600 ?? ??:0 ``` ## Google 搜索到的解决方案(未验证) 搜索许久,发现这篇[博客](https://blog.csdn.net/wxlinwzl/article/details/24263413)上说: >解决出现 ??:0 , 没法展示源代码行数的问题 >在Android.mk 文件中: >Java代码 ``` LOCAL_CFLAGS := -D__STDC_CONSTANT_MACROS -Wl,-Map=test.map -g ``` >补充2个编译参数 ``` -Wl,-Map=test.map -g . ``` > 增加gcc警告和调试标志 ## 问题 sample 里用的是 `CMAKE`, 写法与 `.mk` 有所区别,能指导一下如何配置这个属性去解决这个问题吗?
Activity
shortybin commentedon Sep 16, 2019
我也遇到跟你同样的问题,应该是最后的发生 crash 的位置和寄存器信息地址写错了
ine -f -C -e /home/york/AndroidStudioProjects/Chapter01/sample/build/intermediates/transforms/mergeJniLibs/debug/0/lib/armeabi-v7a/libcrash-lib.so 0x600
0x600 应该修改为之前分析文件的 crash 地址 比如:
Thread 0 (crashed)//crash 发生时候的线程
0 libcrash-lib.so + 0x77e//发生 crash 的位置和寄存器信息
修改为 0x77e 我是如此解决的
YummyLau commentedon Aug 17, 2020
@aixiaozi 是因为你使用错so的问题,你跑的是64位及机器,所以应该用
arm64-v8a/libcrash-lib.so
而非armeabi-v7a/libcrash-lib.so