Fabric Crashlytics NDK堆栈回溯丢失的帧

时间:2019-03-06 22:00:59

标签: android android-ndk crashlytics-android

我有一个包含多个本机共享库的Android Studio项目。

我按照此处记录的步骤集成了Crashlytics NDK支持并将符号上载到Fabric: https://fabric.io/downloads/gradle/ndk

崩溃已成功报告:

D/CrashlyticsCore: Checking for crash reports...
D/CrashlyticsCore: Attempting to send 1 report(s)
D/CrashlyticsCore: Sending report to: ...
D/CrashlyticsCore: Result was: 202
I/CrashlyticsCore: Crashlytics report upload complete: 

我确实在Fabric Crashlytics控制台中看到了它们。

但是,我在回溯中发现了以下问题:

  1. 缺少框架。通常,只有一帧显示本机库中的符号(通常只是导致崩溃的帧)。
  2. 框架似乎并不总是很有意义。例如,在直接函数调用之间,将出现没有符号的“鬼影”帧。
  3. libc.so中缺少符号

这是一个例子:

#0
Crashed: Thread
SIGABRT 0x00000000000008b1

Crashed: Thread
0  libc.so                        0xf5465d66 (Missing)
1  libc.so                        0xf54a4665 (Missing)
2  libc.so                        0xf5465fe1 (Missing)
3  libMyLibrary.so                0xd9e79622 (Missing)
4  libMyLibrary.so                0xd9c23d83 Java_com_xxxxxxxx (MySource.cpp:109)
5  (Missing)                      0x705e92cc (Missing)
6  (Missing)                      0xdb84aa3a (Missing)
7  (Missing)                      0xf4645d9e (Missing)
8  libart.so                      0xf37eacb7 (Missing)
9  (Missing)                      0x136b8b36 (Missing)
10 (Missing)                      0xdb84aa32 (Missing)
<frames omitted for brevity, all with missing symbols>
62 libart.so                      0xf3a13ece (Missing)
63 libart.so                      0xf3800caf (Missing)
64 (Missing)                      0x13001756 (Missing)

第3帧缺少符号。另外,在本机lib中应该在第4帧之后有其他帧,但是这些帧缺少详细信息。

我正在使用crashlytics:2.9.8和crashlytics-ndk:2.0.5

可能与Bogus NDK stack backtrace after upgrading to Crashlytics NDK 2.+

相关

有什么建议吗? crashlytics-ndk-2.x是否存在问题?

1 个答案:

答案 0 :(得分:0)

这就是对我有用的东西,我遇到了同样的事情。我只同步了为我调试的活动变量,所以我同步了所有发行版,然后进行构建,然后在终端中重新运行crashlyticsUploadSymbolsRelease,然后在应用程序崩溃时开始查看本机方法名称