时间: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邮箱联系删除。
NDKNDK是NativeDevelopmentit的缩写,是Google在Android开发中提供的一套用于快速创建native工程的一个工具。使用这个工具可
在Android里,程序内存被分为2部分:native和dalvik,dalvik就是我们普通的Java使用内存,分析堆栈的时候使用的内存。我们创建的对象是在这
react-native-fs插件是文件对上传和下载时使用的,iOS和android都可使用,Fileupload(iOSonly)。安装命令:npminsta
无需使用Native.js即可实现Android,iOS通用截图直接上代码:WebviewExamplevarws=null;//H5plus事件处理funct
ReactNative简介:ReactNative结合了Web应用和Native应用的优势,可以使用JavaScript来开发iOS和Android原生应用。在