1.首先找到出错的信息和对应的库文件
例如:
/mnt/lib/libAID_THREADS.so(_ZN25CPeriodAndTransparentTask14InitTaskResMapEt+0x2dc)[0x41010430]
出错的库文件是/mnt/lib/libAID_THREADS.so ,对应的出错信息是 _ZN25CPeriodAndTransparentTask14InitTaskResMapEt+0x2dc
2. 使用file命令,查看该库文件是否具有symbol信息
[user@ubuntu concentrator_proj]$ file libAID_THREADS.so
libAID_THREADS.so: ELF 32-bit LSB shared object, ARM, version 1 (SYSV), dynamically linked, not stripped
如果出现上述红色字体部分,说明该库文件具有symbol信息
3.使用nm命令查看对应的symbol信息,并进行搜索关键字
[user@ubuntu concentrator_proj]$ nm libAID_THREADS.so | grep InitTaskResMap
0028bb48 T _ZN25CPeriodAndTransparentTask14InitTaskResMapEt
4.使用addr2line定位 0028bb48 多对应的文件中具体的位置
[user@ubuntu concentrator_proj]$addr2line -f -e libAID_THREADS.so 0028bb48
_ZN25CPeriodAndTransparentTask14InitTaskResMapEt
/mnt/hgfs/share/xinjiang/benti/AID_THREADS/CPeriodAndTransparentTask.cpp:2693
5.以上绿色标注的部分就是最终定位的文件出错的地方