Analizowanie zrzutu stosu

Debugowanie aplikacji często wymaga korzystania ze zrzutów stosu. Zrzut stosu jest generowany, gdy aplikacja ulegnie awarii z powodu błędu lub wyjątku. Możesz też wydrukować zrzut stosu w dowolnym momencie w kodzie aplikacji, korzystając z takich metod jak Thread.dumpStack().

Gdy aplikacja jest uruchomiona w trybie debugowania na połączonym urządzeniu, Android Studio drukuje i wyróżnia zrzuty stosu w widoku Logcat, jak widać na rysunku 1. Zrzut stosu zawiera listę wywołań metod, które doprowadziły do zgłoszenia wyjątku, wraz z nazwami plików i numerami wierszy, w których wystąpiły te wywołania.

Rysunek 1. Zrzut stosu w Logcat.

Kliknij wyróżnione nazwy plików, aby otworzyć pliki i sprawdzić źródło wywołania metody. Kliknij przyciski zrzut stosu w górę i w dół do zrzutu stosu , aby szybko poruszać się między wierszami zrzutu stosu wyświetlanymi w oknie Logcat.

Otwórz zrzuty stosu ze źródeł zewnętrznych

Czasami chcesz przeanalizować zrzuty stosu udostępnione w raporcie o błędzie, a nie te znalezione podczas debugowania. Aby przeanalizować dane z Firebase Crashlytics, użyj okna narzędzia Statystyki jakości aplikacji. Aby przeanalizować dane z innych źródeł, na przykład zrzuty stosu wygenerowane na urządzeniach użytkowników w Konsoli Google Play, wykonaj te czynności:

  1. Otwórz projekt w Android Studio.

    Uwaga: sprawdź, czy wyświetlany kod źródłowy pochodzi z tej samej wersji aplikacji, która wygenerowała zrzut stosu. Jeśli kod jest inny, nazwy plików i numery wierszy lub kolejność wywołań w zrzutach stosu i w projekcie będą niezgodne.

  2. W menu Analizuj kliknij Analizuj zrzut stosu.

    Okno zrzutu stosu analizy stosu

    Rysunek 2. Okno analizy zrzutu stosu.

  3. Wklej tekst zrzutu stosu w oknie Analiza zrzutu stosu i kliknij OK.

Android Studio otworzy nową kartę <Stacktrace> (widoczną na Rysunku 3) ze zrzutem stosu wklejonym w oknie Uruchamianie.

Okno zrzutu stosu

Rysunek 3. Karta <Stacktrace> w Android Studio.

Monitoruj schowek pod kątem nowych zrzutów stosu

Jeśli często korzystasz z zewnętrznych zrzutów stosu, możesz zwiększyć swoją produktywność, możesz pozwolić Android Studio na ciągłe monitorowanie schowka systemowego pod kątem nowych zrzutów stosu. Aby to zrobić:

  1. Otwórz narzędzie Analiza zrzutu stosu.
  2. Zaznacz pole wyboru Automatycznie wykrywaj i analizuj zrzuty wątków skopiowane do schowka poza IntelliJ IDEA.
  3. Skopiuj zrzut stosu z innej aplikacji, np. przeglądarki internetowej, do schowka systemowego.

Gdy wrócisz do okna Android Studio, zrzut stosu otwiera się automatycznie w oknie Uruchom, dzięki czemu nie musisz go wklejać do okna Analiza zrzutu stosu.