Stacktrace analysieren

Zur Fehlerbehebung in einer Anwendung müssen Sie häufig mit Stacktraces arbeiten. Ein Stacktrace wird generiert, wenn Ihre Anwendung aufgrund eines Fehlers oder einer Ausnahme abstürzt. Sie können einen Stacktrace auch jederzeit im Anwendungscode mit Methoden wie Thread.dumpStack() drucken.

Während Ihre App im Debug-Modus auf einem verbundenen Gerät ausgeführt wird, druckt Android Studio Stacktraces in der Logcat-Ansicht aus und hebt sie hervor (siehe Abbildung 1). Ein Stacktrace zeigt eine Liste von Methodenaufrufen, die zum Auslösen der Ausnahme geführt haben, sowie die Dateinamen und Zeilennummern, in denen die Aufrufe aufgetreten sind.

Abbildung 1: Ein Stacktrace in Logcat.

Klicken Sie auf die hervorgehobenen Dateinamen, um die Dateien zu öffnen und die Quelle des Methodenaufrufs zu untersuchen. Klicken Sie auf die Schaltflächen Im Stacktrace nach oben und Im Stacktrace hinunter , um schnell zwischen den im Fenster Logcat angezeigten Stacktraces zu wechseln.

Stacktraces aus externen Quellen öffnen

Manchmal möchten Sie die in einem Fehlerbericht freigegebenen Stacktraces analysieren und nicht die, die Sie bei der Fehlerbehebung gefunden haben. Verwenden Sie zum Analysieren von Daten aus Firebase Crashlytics das Toolfenster App Quality Insights. So analysieren Sie Daten aus anderen Quellen, z. B. Stacktraces, die auf den Geräten Ihrer Nutzer über die Google Play Console generiert wurden:

  1. Öffnen Sie Ihr Projekt in Android Studio.

    Hinweis:Achten Sie darauf, dass der angezeigte Quellcode aus der Version Ihrer App stammt, die den Stacktrace generiert hat. Wenn sich der Code unterscheidet, kommt es zu Diskrepanzen zwischen den Dateinamen und Zeilennummern oder der Reihenfolge der Aufrufe im Stacktrace und in Ihrem Projekt.

  2. Klicken Sie im Menü Analysieren auf Stacktrace analysieren.

    Fenster „Stacktrace“ analysieren

    Abbildung 2: Stacktrace-Fenster analysieren.

  3. Fügen Sie den Stacktrace-Text in das Fenster Stacktrace analysieren ein und klicken Sie auf OK.

In Android Studio wird ein neuer <Stacktrace>-Tab geöffnet (siehe Abbildung 3), mit dem Stacktrace, den Sie im Fenster Ausführen eingefügt haben.

Stacktrace-Fenster

Abbildung 3: <Stacktrace> in Android Studio.

Zwischenablage auf neue Stacktraces überwachen

Wenn Sie häufig mit externen Stacktraces arbeiten, können Sie produktiver sein, indem Sie Android Studio die Systemzwischenablage kontinuierlich auf neue Stacktraces überwachen lassen. Gehen Sie dazu so vor:

  1. Öffnen Sie das Tool Stacktrace analysieren.
  2. Klicken Sie das Kästchen Thread-Dumps, die außerhalb von IntelliJ IDEA in die Zwischenablage kopiert wurden, automatisch erkennen und analysieren an.
  3. Kopieren Sie einen Stacktrace aus einer anderen Anwendung, z. B. einem Webbrowser, in die Systemzwischenablage.

Wenn Sie zum Android Studio-Fenster zurückkehren, wird der Stacktrace automatisch unter dem Fenster Ausführen geöffnet, sodass Sie ihn nicht in das Fenster Stacktrace analysieren einfügen müssen.