使用下面的方法进行出错位置定位,前提是可以在Log中找到出错地址

./prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin/arm-eabi-addr2line -e out/target/product/kunlun/symbols/system/lib/libviatelecom-withuim-ril.so -f 2868

2868 是main log打出的地址,类似下面的一段log

11-09 12:14:46.174 I/DEBUG   ( 1367):          #00  pc 00015ca4  /system/lib/libc.so
11-09 12:14:46.174 I/DEBUG   ( 1367):          #01  pc 00013614  /system/lib/libc.so
11-09 12:14:46.174 I/DEBUG   ( 1367):          #02  pc 000144da  /system/lib/libc.so
11-09 12:14:46.174 I/DEBUG   ( 1367):          #03  pc 00002868  /system/lib/libril.so
11-09 12:14:46.174 I/DEBUG   ( 1367):          #04  pc 0000a07c  /system/lib/libril.so
11-09 12:14:46.174 I/DEBUG   ( 1367):          #05  pc 00004f02  /system/lib/libril.so
11-09 12:14:46.182 I/DEBUG   ( 1367):          #06  pc 0000542a  /system/lib/libril.so
11-09 12:14:46.182 I/DEBUG   ( 1367):          #07  pc 00005aaa  /system/lib/libril.so
11-09 12:14:46.182 I/DEBUG   ( 1367):          #08  pc 00006570  /system/lib/libril.so
11-09 12:14:46.182 I/DEBUG   ( 1367):          #09  pc 00005ede  /system/lib/libril.so
11-09 12:14:46.182 I/DEBUG   ( 1367):          #10  pc 000118e4  /system/lib/libc.so
11-09 12:14:46.182 I/DEBUG   ( 1367):          #11  pc 000114b0  /system/lib/libc.so


上面其实是出错时候的调用堆栈,那么可以看到 libril.so 的函数 的地址 2868处出错了,执行后
root@desktop-ubuntu:# ./prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin/arm-eabi-addr2line -e out/target/product/productname/symbols/system/lib/libril.so -f 2868
oemRequestSendCdmaSMS
hardware/xxx/xxxx/xxxxxx/mmmmmmmm.c:462

则明确给出了出错的地方,mmmmmmmm.c 的 462 行~

相关文章:

  • 2022-12-23
  • 2021-04-11
  • 2021-06-06
  • 2022-12-23
  • 2021-07-22
  • 2021-06-11
  • 2022-01-16
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-02-09
  • 2021-11-23
  • 2021-09-05
  • 2021-11-14
相关资源
相似解决方案