美文网首页Android开发Android开发经验谈程序员
android捕获Native bug日志踩坑之路

android捕获Native bug日志踩坑之路

作者: xbase | 来源:发表于2017-09-15 15:38 被阅读542次

首先android端捕获bug,记录下来,最后上传服务器,java层有系统提供的方法,暂时按下不表,今天我们就来唠唠这个Native层的bug日志。
市面上有三种方式:

  1. coffeecatch(实现简洁,改动容易 存在兼容性问题)
    2.利用logcat获取系统日志(利用安卓系统实现 需要在crash时启动新进程过滤logcat日志,不可靠)
    3.breakpad(权威,跨平台 代码体量较大)

咱们着重来谈一谈breakpad,首先我满怀着憧憬来到了google的官方网站,https://chromium.googlesource.com/breakpad/breakpad,使用git下载,然而。。。。得到的结果是:

breakpad.png

what fxxk?Are you kidding me?我翻着墙呢,后来得知google好像把服务关了。。。。。。

这个时候,我发现了github上也有google上传的源代码(欣喜若狂),https://github.com/google/breakpad,带着满腔的憧憬,我下载了源代码,按照README上的要求,

breakpad.png
打开了depot_tools的网站,如图: depot_tools.png

当时我整个人又不好了,还是google的git服务,这明摆着不能用。。。。。。然后我索性直接从刚才的github上下载了源代码。
接着打开终端,cd到下载的目录,执行./configure指令,报了
A compiler with support for C++11 language features is required.
上网搜索了一下说是gcc的版本太老,需要升级至少是4.7,才支持c++11,此处又是上网一顿搜,终于解决。
然后执行make指令,结果如下:

breakpad.png

这个报错真是日了狗了,竟然缺少文件,我一找对应的文件夹,你猜猜怎么招,没有,没有,没有,压根就没有lss文件夹,google,你逗我么?然后又是翻天覆地一通找,找到了这篇文章:http://blog.csdn.net/gsls200808/article/details/53195274?locationnum=6&fps=1,里面有这么一段:

breakpad.png

总之就是下载一个文件,自己建立这个文件夹,把下载的文件放进去,再执行make指令,终于成功了。

其实编译成功只是为了得到/breakpad-master/src/tools/linux/dump_syms文件夹下面的dump_syms文件和/breakpad-master/src/processor文件夹下面的minidump_dump文件,用它们来解析dmp文件。

后记:不知道google为什么这么坑,但是听说印度工程师在google的比例越来越多,我好像明白了些神马。。。。

最后,最最重要的送上修复之后的breakpad源码(追加了linux_syscall_support.h文件)https://github.com/xfmax/FixedBreakPad,愉快的编译去吧。

介绍一个很好的breakpad开源项目:https://github.com/yinyinnie/breakpad-for-android

相关文章

  • android捕获Native bug日志踩坑之路

    首先android端捕获bug,记录下来,最后上传服务器,java层有系统提供的方法,暂时按下不表,今天我们就来唠...

  • 崩溃优化(1):关于“崩溃”

    Android 平台Native代码崩溃捕获机制及实现 Android 平台Native代码崩溃捕获机制及实现(来...

  • native crash相关小结

    一、native crash捕获原理 native crash捕获的原理摘选完善自:Android 开发中常见 C...

  • 日常bug记录

    想记录日常碰到的bug,坑踩多了,以后应该碰到坑就比较容易处理或者会少踩坑,后面会慢慢记录bug,截图bug以及最...

  • react native踩坑之路

    1、scrollView在componentDidMount中使用scrollTop 真机 无效 解决方法: on...

  • Android 日常踩坑

    1、Android NDK开发踩坑 踩坑环境 Android Studio 3.4.1,JDK 1.8 1、为什么...

  • 2018-09-18 Android堆栈打印

    【转】Android 平台 Native 代码的崩溃捕获机制及实现

  • react-native native-echarts 趴坑指

    react-native 日常踩坑 下面我们探讨下native-echarts经常会踩到的坑 1、ios rele...

  • 悬浮窗+Dialog中的坑

    功能需求: 点击悬浮窗中的按钮显示一个Dialog 踩坑之路: 先是Context 崩溃,log:android....

  • react-native踩坑日志

    最开始抱着试一试的态度去学react-native的,初步尝试了一段时间,发现其实它跟web前端有非常多类似的地方...

网友评论

    本文标题:android捕获Native bug日志踩坑之路

    本文链接:https://www.haomeiwen.com/subject/lpwssxtx.html