【问题标题】:How to ungroup native crash reports in Fabric?如何在 Fabric 中取消对本机崩溃报告的分组?
【发布时间】:2019-07-18 06:35:17
【问题描述】:

我们使用 Crashlytics 报告我们的 Android 应用用户面临的崩溃。我们的很多代码都是原生的(c++),因此很多崩溃都在原生代码中。然而,它们中的大多数(如果不是全部)最终都归入 “abort_message.cpp line 77”。这是各种不同崩溃的堆栈跟踪的顶部 -

我通过在不同文件中制作不同类型的崩溃进行了测试,例如throw std::runtime_error("Testing crash")throw std::logic_error("Testing crash2"),但所有这些最终都具有相同的前几帧(如上图)。

现在由于崩溃堆栈的顶部框架对于所有这些都是abort_message.cpp line 77,因此它们被分组在同一个标​​题下。

将不同的崩溃分组在同一组中,这使得很难确定优先级和针对崩溃修复。那么无论如何我们可以解决这个问题吗?或者解决方法?

注意:我们正在将本机符号上传到 crashlytics,我们的堆栈跟踪非常详细。

另一个困扰我的是,不同类型的崩溃都报告为 SIGABRT。

【问题讨论】:

    标签: android c++ crashlytics google-fabric


    【解决方案1】:

    Fabric/Firebaser 在这里 -

    这似乎是 C++ 异常,Crashlytics 没有很好地展开 - 这是 NDK 与 Crashlytics 集成的一个方面,我们希望在未来改进它。当抛出 C++ 异常时,会处理由未捕获的 C++ 异常引发的信号,而不是处理异常本身,从而导致堆栈跟踪的前几帧相同,从而将不同的问题组合在一起。

    它应该仍然有相关的崩溃信息,所以下面的帧应该是不同的,但责备的帧将是那个 abort_message 帧。

    感谢您的报告 - 这绝对是我们正在努力尽快改善的事情。

    【讨论】:

    • 感谢凯文确认这一点。我也是这么想的。并期待在 Fabric 中围绕这个问题进行改进。
    【解决方案2】:

    我也有同样的抱怨。 有解决方法吗? 刚刚收到来自 Firebase 的尖峰警报,因为出现相同的错误尖峰,它们都是不相关的崩溃(来自错误地分组为相同的抛出异常)

    【讨论】:

      猜你喜欢
      • 2017-11-07
      • 2019-03-25
      • 1970-01-01
      • 2015-12-23
      • 1970-01-01
      • 1970-01-01
      • 2023-04-10
      • 2011-05-13
      • 1970-01-01
      相关资源
      最近更新 更多