我们使用Crashlytics报告我们的Android应用程序用户所面临的崩溃。我们的许多代码都是本机(c ++),因此很多崩溃都发生在本机代码中。但是,大多数(如果不是全部)最终会归类到“ abort_message.cpp第77行” 下。这是所有各种崩溃的堆栈跟踪的顶部-
我通过对不同文件(例如throw std::runtime_error("Testing crash")
,throw std::logic_error("Testing crash2")
)进行崩溃进行了测试,但是最终所有文件的前几帧都相同(如上图所示)。
现在,由于所有崩溃堆栈的顶部框架均为abort_message.cpp line 77
,因此它们被归为同一类。
将不同的崩溃分组到同一组中,这使得难以确定优先级并确定崩溃修复的目标。那么无论如何,我们可以解决这个问题吗?或解决此问题?
注意:我们正在将本机符号上传到crashlytics,我们的堆栈跟踪非常详细。
让我困扰的另一件事是,所有类型的崩溃都报告为SIGABRT。
答案 0 :(得分:1)
此处是Fabric / Firebaser-
这似乎是C ++的一个例外,它说明Crashlytics不能很好地解决-这是NDK与Crashlytics集成的一个方面,我们希望在将来进行改进。引发C ++异常时,将处理未捕获的C ++异常引发的信号,而不是处理该异常本身,从而导致stacktrace的前几个帧相同,从而将不同的问题归为一类。
它仍然应该具有相关的崩溃信息,因此下面的框架应该不同,但是主要的框架是 abort_message 框架。
感谢您的举报-绝对是我们正在寻求的使之变得更好的东西。
答案 1 :(得分:0)
我也有同样的抱怨。 有解决方法吗? 刚刚从Firebase收到了具有相同错误尖峰的峰值警报,并且它们都是不相关的崩溃(来自将抛出异常错误地分组为相同的异常)