Android使用google breakpad捕获分析native cash

时间:2021-05-20

Android 开发高手课 课后练习(1)

一、Chapter01 崩溃

https://time.geekbang.org/column/article/70602

https://github.com/AndroidAdvanceWithGeektime/Chapter01

1、遇到native cash时,生成.dmp文件

先检查sdk/ndk环境

在local.properties配置sdk/ndk

打包运行效果

点击CRASH按钮后生成的.dmp文件

2、利用breakpad的minidump_stackwalk分析,先获取minidump_stackwalk

https://github.com/google/breakpad

先克隆

git clone https://github.com/google/breakpad.git 这个项目到本地

然后执行命令,即可拿到所需文件

文件位置,可以拷贝到项目tools/mac/minidump_stackwalk中使用,

执行命令./tools/mac/minidump_stackwalk sdcard/crashDump/***.dmp >crashLog.txt 后出错,先把.dmp文件拷贝到电脑上再执行该命令

为了解决could not be read这个问题,可以使用adb pull sdcard/crashDump 拷贝手机文件到电脑上

使用命令分析文件,生成crashLog.txt,下面是一行代码执行命令,不要分开多次执行

3、分析

arm64使用aarch64-linux-android-4.9; arm使用arm-linux-androideabi-4.9 ,千万别看错,不然执行报错

而且aarch64-linux-android-addr2line的路径、libcrash-lib.so的路径要按照电脑、项目中的路径保持一致

输出的结果是Crash,如图

可以分析出Crash函数出现了问题

项目已经放到github:https://github.com/libill/Chapter01

添加了tools/mac/minidump_stackwalk、crashDump、crashLog.txt。

总结

以上所述是小编给大家介绍的Android使用google breakpad捕获分析native cash,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章