JNI Native crash地址转换

signal 11

LOG:
  1. F/libc    ( 1783): Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1)  
  2. I/DEBUG   (  115): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***  
  3. I/DEBUG   (  115): Build fingerprint: 'intel/mfld_dv10/mfld_dv10:4.0.4/IMM76D/release.20130301:eng/dev-keys'  
  4. I/DEBUG   (  115): pid: 1783, tid: 1783  >>> com.example.apis <<<  
  5. I/DEBUG   (  115): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000000  
  6. I/DEBUG   (  115):  eax bfb0eb4e  ebx 5e35753c  ecx 00000000  edx 5f200019  
  7. I/DEBUG   (  115):  esi bfb0eb48  edi 08b20db0  
  8. I/DEBUG   (  115):  xcs 00000073  xds 0000007b  xes 0000007b  xfs 00000000 xss 0000007b  
  9. I/DEBUG   (  115):  eip 5e35464a  ebp bfb0eb98  esp bfb0eb30  flags 00010206  
  10. DEBUG   (  115):     #00  eip: 0000264a  /data/data/com.example.apis/lib/libSampleJNIBinder.so
  11. I/DEBUG   (  115):     #01  eip: 0007a959  /system/lib/libdvm.so (_Z16dvmCallJNIMethodPKjP6JValuePK6MethodP6Thread+0x1e9)

1.查看调用堆栈:ndk-stack
./ndk-stack -sym <.so文件目录> -dump foo.txt(出错调用堆栈,上附log)

2.addr2line
/data/tools/android-ndk-r11c$ find . -name "*addr2line"
./toolchains/mipsel-linux-android-4.9/prebuilt/linux-x86_64/bin/mipsel-linux-android-addr2line
./toolchains/x86_64-4.9/prebuilt/linux-x86_64/bin/x86_64-linux-android-addr2line
./toolchains/x86-4.9/prebuilt/linux-x86_64/bin/i686-linux-android-addr2line
./toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-addr2line
./toolchains/mips64el-linux-android-4.9/prebuilt/linux-x86_64/bin/mips64el-linux-android-addr2line
./toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/aarch64-linux-android-addr2line



./i686-linux-android-addr2line -f -e <.so文件的pathName> <出错的地址>
如上:
./i686-linux-android-addr2line -f -e /home/hwh/Android_Project/Code/HHDemos/obj/local/x86/libSampleJNIBinder.so 0000415C
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值