美文网首页
Firebase-Crashlytics收集崩溃日志失败

Firebase-Crashlytics收集崩溃日志失败

作者: Nine_suns | 来源:发表于2021-09-19 22:25 被阅读0次

背景

公司的项目在使用Firebase-Crashlytics进行App的崩溃监控,近期发现在Firebase上看不到新发布的几个App版本的崩溃数据,这里记录下排查过程。

原因

经过一番排查,发现原因是我们在进行包瘦身工作时,在项目中设置EXPORTED_SYMBOLS_FILE选项,提供了一个空文件。Crashlytic SDK的正常启动依赖__mh_execute_header。在Firebase的Github上有这个问题的讨论。找到原因后,解决方案也很简单:在EXPORTED_SYMBOLS_FILE的文件中,增加一行__mh_execute_header即可。

排查过程

排查该问题的过程比较曲折,可以分为3个阶段:

  • 对比代码版本变化,从代码上寻找与Firebase相关的改动。发现清理警告时改动过我们内部封装的Crash库,但是改动内容可以确定对Firebase不会产生影响。
  • Firebase SDK版本过低。正常来说这种使用广泛的SDK,即使版本更新,也会保持对旧版本的兼容,所以Firebase SDK版本过低导致无法收集日志的可能性不大。
  • 查看控制台日志。这个方法比较实用,这次问题的原因也是通过查看控制台日志找到的。连接手机,Mac上打开控制台,选择手机设备,启动APP,即可过滤相关的日志输出。在控制台的日志中,发现Crashlytics的日志,启动失败,提示需要__mh_execute_header信息。

总结

这次也是踩到了Firebase的一个坑,记录一下,如果恰巧有同行遇到类似的问题,可以作为参考。同时推荐通过控制台查App日志的方式进行问题排查,有些问题在不需要运行Xcode项目的情况下,就可以快速定位到。比如这次遇到的Crashlytics启动失败问题、以及之前遇到过的App测试包无法安装问题,在控制台都会输出有用的错误日志。

相关文章

  • Firebase-Crashlytics收集崩溃日志失败

    背景 公司的项目在使用Firebase-Crashlytics进行App的崩溃监控,近期发现在Firebase上看...

  • 代码:android崩溃日志收集和处理

    用来处理android崩溃日志收集的代码,详情的使用请转:android崩溃日志收集和处理 第一个类 /** ...

  • 【iOS】腾讯Bugly使用记录

    由于项目中以前没有收集崩溃日志,对崩溃问题都是测试发给我们崩溃日志,然后我们自己去进行符号化,再进行分析,这样的话...

  • Cordova崩溃日志收集-Android篇

    一、需求 收集移动端app闪退日志 支持离线收集 开始准备使用腾讯的bugly来统一收集崩溃日志,但是存在一下特殊...

  • 使用NSSetUncaughtExceptionHandler收

    1. 在代码中添加手机崩溃日志代码 2. 收集到的崩溃日志如下 dSYM符号表获取 xcode->window->...

  • 线上崩溃的解决办法

    开发过程中对于线上项目崩溃我使用的是友盟统计,它会收集到线上的崩溃日志,根据崩溃日志我们可以快速定位到代码中崩溃位...

  • Android 崩溃日志收集

    原理:应用出现异常后,会由默认的异常处理器来处理异常,我们要做的就是把这个任务接管过来,自己处理异常,包括收集日志...

  • IOS 崩溃日志收集

    通过崩溃捕获和收集,可以收集到已发布应用(游戏)的异常,以便开发人员发现和修改bug,对于提高软件质量有着极大的帮...

  • iOS使用 Metrickit 收集崩溃日志

    iOS使用 Metrickit 收集崩溃日志 Metrickit 是什么 MetricKit 是 苹果在 iOS...

  • 解析IOS崩溃日志(crash-Log)-抓取线上bug

    写在前言 基本上我们每个app发布之后都要拿到线上的崩溃日志来收集起来,线下来根据崩溃日志来进行修改代码,或者直接...

网友评论

      本文标题:Firebase-Crashlytics收集崩溃日志失败

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