Ткань Crashlytics NDK стека возвращает следы отсутствующих кадров - PullRequest
5 голосов
/ 07 марта 2019

У меня есть проект 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 после обновления до Crashlytics NDK 2. +

Есть предложения? Есть ли проблема с crashlytics-ndk-2.x?

1 Ответ

0 голосов
/ 20 июля 2019

Это то, что работало для меня, я испытывал то же самое.Я только синхронизировал активный вариант, который был отлажен для меня, поэтому я синхронизировал все сборки выпуска и затем собрал, повторно запустил crashlyticsUploadSymbolsRelease в терминале, и после этого я начал видеть имена собственных методов, когда приложение падало

...