ndk调试
- 1. `ndk-stack` 调试
- 2. `addr2line`
两种方法:
1.
条件:配置
命令:
如果出现:
2.
条件:配置addr2line的环境变量:
命令:
命令最后一位的地址编码请看:
1 2 3 4 5 6 7 8 9 | 2020-07-02 16:38:57.553 18029-18029/? A/DEBUG: backtrace: 2020-07-02 16:38:57.554 18029-18029/? A/DEBUG: #00 pc 000000000006a784 /system/lib64/libc.so (tgkill+8) 2020-07-02 16:38:57.554 18029-18029/? A/DEBUG: #01 pc 000000000001db50 /system/lib64/libc.so (abort+88) 2020-07-02 16:38:57.554 18029-18029/? A/DEBUG: #02 pc 000000000002532c /system/lib64/libc.so (__libc_fatal+116) 2020-07-02 16:38:57.554 18029-18029/? A/DEBUG: #03 pc 0000000000091c6c /system/lib64/libc.so (ifree+812) 2020-07-02 16:38:57.554 18029-18029/? A/DEBUG: #04 pc 0000000000091eec /system/lib64/libc.so (je_free+120) // 主要是以下这行,复制他的地址编码到命令中 2020-07-02 16:38:57.554 18029-18029/? A/DEBUG: #05 pc 000000000000fdb8 /data/app/com.east.datastructure28bubbkeselectsort-Rq_huZaLg_y9lQEFGFjFuw==/lib/arm64/libnative-lib.so (Java_com_east_datastructure28bubbkeselectsort_MainActivity_stringFromJNI+192) 2020-07-02 16:38:57.554 18029-18029/? A/DEBUG: #06 pc 000000000000f09c /data/app/com.east.datastructure28bubbkeselectsort-Rq_huZaLg_y9lQEFGFjFuw==/oat/arm64/base.odex (offset 0xf000) |
坑:
解决:
1. addr2line的环境变量修改为 arm-linux-androideabi-4.9的:
2. 命令修改为: