目录
一.背景
二.ndk-stack工具如何使用
一.背景
Android中使用c/c++出现crash,或者前一篇的AddressSanitizer工具中,AddressSanitizer工具抓取的日志需要再定位下具体在哪一行,使用addr2line工具固然可以进行进一步排查,但是还有更加强大的工具ndk-stack,这个工具会自动解析整个调用栈,给出更清晰的报告
二.ndk-stack工具如何使用
首先找打ndk-stack工具位置:D:\Android\Sdk\ndk\23.1.7779620
可以将这个工具放到环境变量配置中,也可以直接在这个路径下面直接使用,我这里就写下在这个工具里面直接使用的方式:
指令:adb logcat | ndk-stack.cmd -sym xxx\build\intermediates\cmake\debug\obj\armeabi-v7a
上面xxx\build\intermediates\cmake\debug\obj\armeabi-v7a是当前需要检测的so包的文件夹路径
然后就可以显示出异常调用栈信息了,如下:
可以看出来和上一篇一样,可以定位出出问题的位置,并且打印出整个调用链路了