android - 如何取消组合 Fabric 中的 native 崩溃报告?

标签 android c++ crashlytics google-fabric

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

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

现在,由于崩溃堆栈的顶层框架是abort_message.cpp line 77,所以它们被分组在同一个头下。

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

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

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

最佳答案

此处为 Fabric/Firebaser -

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

它应该还有相关的崩溃信息,所以下面的帧应该是不同的,但怪帧会是那个abort_message帧。

感谢您的报告 - 这绝对是我们正在寻求尽快改进的东西。

关于android - 如何取消组合 Fabric 中的 native 崩溃报告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57088379/

相关文章:

android - 哪个是最好的移动Web应用程序开发框架

安卓计费 : How to handle pending purchases

android - 添加 Firebase 核心版本 17.0.0 后 list 合并失败

Android 13 - 画中画模式 - 更改操作图标

android - 在 Android 上重构动态功能模块时构建失败并显示 'task :features:catalog:createDebugCompatibleScreenManifests FAILED'

c++ - 什么是 undefined reference /未解析的外部符号错误,我该如何解决?

如果我向类构造函数添加一个伪参数,C++ 内存访问冲突神秘地消失了

c++ - (避免)在 C++ 中将代码拆分为 .cpp 和 .h 并进行高效编译

ios - 从 Fabric 链接到 Firebase 后,Firebase 控制台中未显示崩溃

android - 无法初始化 Crashlytics,AndroidManifest.xml 中缺少 API key