NDK开发使用addr2line定位到错误代码行

1.先找到NDK

以ndk17版本为例,添加addr2line路径到环境变量(Mac环境)
arm-v7路径
/Users/xxx/xxx/android-ndk-r17c/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin
arm-v8路径
/Users/xxx/xxx/android-ndk-r17c/toolchains/aarch64-linux-android-4.9/prebuilt/darwin-x86_64/bin

2.运行程序找到c/c++代码crash的log信息

可搜索#00定位错误信息,如图所示:
NDK开发使用addr2line定位到错误代码行_第1张图片
找到并记下so对应的错误码00004b68

3.在编译生成的文件找到对应的so,并进入该目录下

NDK开发使用addr2line定位到错误代码行_第2张图片
执行命令

arm-linux-androideabi-addr2line -e libxxxxxx.so 00004b68

如下图可定位到引起错误文件的代码行easy_mobile_fst.cpp文件的641行
在这里插入图片描述

你可能感兴趣的:(Android,笔记,ndk,android)