5 votes

La pile NDK de Fabric Crashlytics rétablit les trames manquantes

J'ai un projet Android Studio qui comprend plusieurs bibliothèques partagées natives.

J'ai suivi les étapes documentées ici pour intégrer le support NDK de Crashlytics et télécharger les symboles vers Fabric : https://fabric.io/downloads/gradle/ndk

Les crashs sont signalés avec succès :

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: 

et je les vois dans la console Fabric Crashlytics.

Cependant, je constate les problèmes suivants dans les backtraces :

  1. Il y a des cadres manquants. Souvent, une seule trame affiche les symboles de mes bibliothèques natives (généralement la trame qui a provoqué le crash).
  2. Les cadres ne semblent pas toujours avoir un sens. Par exemple, entre les appels directs de fonctions, il y a des cadres "fantômes" sans symboles.
  3. Symboles manquants dans libc.so

Voici un exemple :

#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)

Il manque des symboles dans le cadre 3. De même, il aurait dû y avoir d'autres images dans ma librairie native après l'image 4, mais il manque des détails.

J'utilise crashlytics:2.9.8 et crashlytics-ndk:2.0.5.

Possiblement lié à Backtrace de pile NDK erronée après la mise à niveau vers Crashlytics NDK 2.+

Des suggestions ? Y a-t-il un problème avec crashlytics-ndk-2.x ?

0voto

IzzyJM Points 139

C'est ce qui a fonctionné pour moi, je rencontrais la même chose. Je ne synchronisais que la variante active qui était déboguée pour moi, j'ai donc synchronisé toutes les versions release, puis j'ai construit, relancé crashlyticsUploadSymbolsRelease dans le terminal et après cela, j'ai commencé à voir les noms des méthodes natives lorsque l'application s'est plantée.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X