Android ndk carsh定位

使用addr2line

抓取日子:adb logcat > D:\test.log
查看ndk carsh,找到自己相关代码的错误:
如:

中间的数字是指令地址

使用addr2line工具这个只能查询到报错行;
工具在ndk目录下:\ndk\21.1.6352462\toolchains\arm-linux-androideabi-4.9\prebuilt\windows-x86_64\bin\arm-linux-androideabi-addr2line.exe

自己的项目编译后so在app\build\intermediates\cmake\debug\obj\armeabi-v7a\下

没有配置全局变量就在这个地方开启命令行:
输入:arm-linux-androideabi-addr2line -C -f -e D:\work\OpenGLDemo\app\build\intermediates\cmake\debug\obj\armeabi-v7a\libnative-lib.so 001f8798 001f73f3 0000dc79
其中:  
-C -f              //打印错误行数所在的函数名称
  -e                   //打印错误地址的对应路径及行数

如下,77就是抛出crash行数;    ?:表示查的指令地址没在这个so中,要去另外的库查询

使用ndk-stack就要简单一些,但只能看个大概,不过也足够了

 我没配全局变量,该工具在ndk目录下;

命令如下

adb logcat | ndk-stack -sym D:\work\OpenGLDemo\app\build\intermediates\cmake\debug\obj\armeabi-v7a -dump D:\test.log

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值