addr2line分析crash问题
- addr2line功能
- addr2line使用
addr2line功能
addr2line可以通过解析地址来定位异常发生在哪个文件,哪个函数,哪一行;不过只对编译时带-g参数的进程或者库文件有效,因此想使用addr2line定义进程发生crash时的位置,需要在编译时带上-g参数编译。
addr2line使用
1.堆栈日志打印,在hilogs里搜索关键字“backtrace”
2.提取对应进程,一般“libc.so”为系统库,可不关注,继续向下查看如wpa_supplicnat,找到对应进程
//有些进程添加了编译信息(库的大小会大一些),如android“/symbols/”
3.提取错误地址,重点看 “pc” 后面的十六进制数
使用addr2line -e “16进制地址值” “进程名称” 解析错误