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

Android ndk carsh定位_第1张图片

 

你可能感兴趣的:(音视频,音视频)