Logging Xamarin unbehandelt (Android uncaught) Ausnahmen

8

Ich mag nicht behandelte Ausnahmen einzuloggen, aber ich sehe widersprüchlichen Informationen, ob und wie das möglich sein kann.

Ich verstehe, dass Xamarin ein AndroidEnvironment.UnhandledExceptionRaiser oder AppDomain.CurrentDomain.UnhandledException Ereignis auslöst und dass ich auf dieses Ereignis abonnieren, aber ich habe den Eindruck, dass Android meinen Prozess tötet und dass ich keinen Zugriff auf Android.Utils .Log oder das Dateisystem.

Wenn Sie einen Blick auf Xamarin AdvancedAppLifecycleDemos / HandlingCrashes / App.cs Es gibt ein überzeugendes Argument, dass Sie diese Ausnahme nicht protokollieren können.

%Vor%

Wie kann eine nicht behandelte Ausnahme protokolliert werden?

    
Adam 11.06.2015, 15:56
quelle

2 Antworten

7

Xamarin Insights, HockeyApp oder andere Crash-Logger speichern Absturzdaten, bevor die App den Prozess beendet. Sie senden Daten an den Server, sobald die App neu gestartet wird (sie können sie nicht sofort senden, da der Prozess beendet wird). Das ist also absolut möglich. Obwohl ich nicht sicher bin, ob sie Absturzdaten (am wahrscheinlichsten) im Gerätespeicher oder in einer lokalen SQLite-Datenbank speichern.

Dies verwendet der Code HockeyApp, um nicht behandelte Ausnahmen zu erfassen. Es könnte Ihnen einige Ideen geben:

%Vor%

Ich würde vorschlagen, eine Textdatei mit einer dieser Methoden in den lokalen Speicher zu schreiben

    
xleon 04.04.2016, 21:14
quelle
0

Xamarin Insights benötigen Sie: Ссылка

  

Mit Xamarin Insights können Sie einen vollständigen Überblick über alle Abstürze erhalten und feststellen, welche Art von Problemen und Warnungen in Ihrer App auftreten

Wenn die endgültige Version von Xamarin Studio 5.10 veröffentlicht wird, werden auch die Erkenntnisse integriert ( Lesen Sie mehr ).

    
CDrosos 20.09.2015 07:53
quelle