NDK调试arm-linux-androideabi-addr2line工具的使用
作用
arm-linux-androideabi-addr2line看工具名称就知道是将内存地址转换成行号,具体点就是根据so库抛出的Error日志的中内存地址,找到具体是在那个文件的哪一行出现的该错误。
环境
Windows7-x64 + Android Studio2.2+
环境变量配置
配置arm-linux-androideabi-addr2line环境变量,工具所在目录:ndk目录下的toolchains\arm-linux-androideabi-4.9\prebuilt\windows-x86_64\bin,版本可能不一样(此步骤可以省略,当然不配置的话,每次命令行工具都得切换到该工具目录下才可运行)
实例
某次开发ndk发生如下错误,我想知道具体是在哪个源文件的哪一行发生的:
这个时候就可以使用arm-linux-androideabi-addr2line工具进行定位
命令格式:
arm-linux-androideabi-addr2line -e 需要调试的so库路径 内存地址
比如定位上图发生的这个错误:
内存地址为:00002c6f
<