Skip to main content

Dzienniki awarii

Przegląd​

Dzienniki awarii są cennymi narzędziami diagnostycznymi, które pomagają programistom identyfikować i naprawiać problemy oraz błędy powodujące awarię aplikacji lub nieoczekiwane zachowanie. Udostępnianie dzienników z urządzenia z systemem Android zespołowi programistów OsmAnd jest możliwe. Obecnie użytkownicy iOS mają tylko jeden typ opcji dziennika awarii do wysłania.

Dzienniki awarii i dzienniki aplikacji​

OsmAnd umożliwia wysyłanie dwóch typów danych do programistów:

  • Dzienniki awarii. Generowane, gdy aplikacja OsmAnd napotka krytyczny błąd lub wyjątek powodujący jej awarię. Dzienniki te dostarczają szczegółowych informacji o stanie aplikacji podczas awarii, w tym dane kompilacji, ślady stosu, komunikaty o błędach i inne istotne szczegóły.
  • Dzienniki bieżącej sesji/aplikacji. Zapis strumienia dzienników OsmAnd przechwytujący różne zdarzenia i komunikaty. Dzienniki te pomagają programistom monitorować zachowanie aplikacji, śledzić przepływ wykonania, śledzić określone działania i badać problemy niezwiązane z awariami. Dzienniki Logcat zazwyczaj zawierają zapisy aktywności od ostatniego uruchomienia aplikacji.
Twoje prywatne informacje

Zachowaj ostrożność podczas wysyłania dzienników aplikacji, ponieważ mogą one zawierać prywatne informacje, takie jak lokalizacja urządzenia, zapytania wyszukiwania, wyniki budowania tras i dane nawigacyjne.

Wysyłanie dzienników z aplikacji OsmAnd​

Wyślij dzienniki awarii z Androida 1 Wyślij dzienniki awarii z Androida 2

  1. Przejdź do Menu → Pomoc → Wyślij dziennik awarii lub Wyślij dziennik logcat (Wyślij bieżący dziennik aplikacji na iOS). W zależności od sytuacji wybierz odpowiedni typ dziennika. Szczegóły dotyczące różnic między typami dzienników można znaleźć w sekcji Dzienniki awarii i dzienniki aplikacji.
  2. W wyskakującym menu wybierz Gmaila lub preferowaną aplikację pocztową. Zalecamy wysłanie dzienników na adres support@osmand.net.
  3. Stuknij przycisk Wyślij.

Histogram sterty dla problemów z pamięcią (Android)​

Tylko Android

Histogram sterty to tabela pokazująca, co wypełnia pamięć Java aplikacji: nazwy klas z liczbą obiektów i ich rozmiarami. Pomaga programistom ustalić, co zużywa pamięć, gdy aplikacja zwalnia, zawiesza się lub zamyka po pewnym czasie. Nie zawiera Twoich lokalizacji, nazw śladów ani zapytań wyszukiwania. OsmAnd wykonuje pełny zrzut pamięci na urządzeniu, przekształca go w histogram i natychmiast usuwa zrzut.

Wykonanie zrzutu zamraża aplikację na 5–10 sekund. Jeśli w tym czasie dotkniesz ekranu, Android może wyświetlić komunikat OsmAnd nie odpowiada. Dlatego automatyczne zbieranie jest domyślnie wyłączone.

Kiedy włączyć:

  • OsmAnd zamyka się samoczynnie lub wielokrotnie wyświetla komunikat nie odpowiada, zwłaszcza po pewnym czasie użytkowania lub przy otwieraniu wyszukiwania, mapy z wieloma POI lub Moich miejsc z wieloma śladami.
  • Aplikacja działa coraz wolniej im dłużej jest uruchomiona, a ponowne uruchomienie pomaga.
  • Raport o awarii informuje, że aplikacji zabrakło pamięci (OutOfMemoryError).
  • Zespół wsparcia OsmAnd poprosił Cię o zebranie histogramu sterty.

Kiedy pozostawić wyłączone:

  • Codzienne użytkowanie i nawigacja, gdy aplikacja działa prawidłowo.
  • Awarię występujące od razu przy każdym uruchomieniu lub przy konkretnej czynności, np. otwarciu jednego pliku. Wystarczy zwykły dziennik awarii.

Jak zebrać i wysłać:

  1. Włącz wtyczkę programistyczną OsmAnd i przejdź do Menu główne → Wtyczki → Rozwój OsmAnd → Ustawienia → Pamięć → Pamięć Java.
  2. W panelu Zrzut sterty wybierz jedną z opcji:
    • Zbieraj przy wysokim zużyciu. Histogram jest zbierany automatycznie, gdy pamięć Java jest prawie pełna, maksymalnie raz na 30 minut, i dołączany do następnego raportu o awarii. Kontynuuj normalne korzystanie z aplikacji, aż problem wystąpi ponownie.
    • Zbierz i przeanalizuj teraz. Zbiera histogram natychmiast i wyświetla wynik. Użyj tej opcji, gdy aplikacja już działa wolno, a Pamięć Java pokazuje wysokie zużycie.
  3. Stuknij Udostępnij raport, aby wysłać najnowszy raport do programistów, lub wyślij go z okna awarii przy następnym uruchomieniu aplikacji.
  4. Wyłącz Zbieraj przy wysokim zużyciu po wysłaniu raportu.

Pamięć Java Android Panel zrzutu sterty Android

Wysyłanie plików Tombstone (Android)​

Kluczowe

Tylko dla zaawansowanych użytkowników!

W niektórych złożonych lub nietypowych przypadkach mogą być wymagane pliki Tombstone. Pliki te dostarczają szczegółowych śladów stosu dla wszystkich wątków w procesie ulegającym awarii (nie tylko tego, który spowodował błąd), pełną mapę pamięci i listę wszystkich otwartych deskryptorów plików. Pliki Tombstone są kluczowe do debugowania i diagnozowania problemów związanych z kodem natywnym na platformie Android.

Korzystanie z urządzenia​

Aby wyeksportować pliki tombstone, należy wygenerować raport o błędach za pomocą ustawień systemowych Androida:

  1. Włącz Opcje programisty (ten ekran jest domyślnie ukryty).

    • Przejdź do Ustawienia → Informacje o telefonie → Informacje o oprogramowaniu (ta ścieżka jest prawidłowa dla urządzeń Samsung).
    • Stuknij Numer kompilacji siedem razy, aż pojawi się komunikat potwierdzający aktywację trybu programisty.
  2. Przejdź do Opcji programisty, zazwyczaj znajdujących się na dole listy ustawień. Możesz również użyć funkcji wyszukiwania.

    • Stuknij opcję Wykonaj raport o błędach.
    • Wybierz typ raportu o błędach i stuknij Raport.

Po przygotowaniu raportu o błędach otrzymasz powiadomienie. Stuknij pole powiadomienia, aby pobrać raport na swoje urządzenie. Rozpakuj plik i wyślij pliki tombstone do zespołu programistów OsmAnd (e-mail: support@osmand.net).

Wyślij dzienniki awarii z Androida 3 Wyślij dzienniki awarii z Androida 4

note

Należy pamiętać, że raporty o błędach mogą zawierać prywatne dane, w tym dane dotyczące użytkowania aplikacji lub lokalizacji.

Korzystanie z ADB​

Android Debugging Bridge (ADB) to narzędzie wiersza poleceń, które umożliwia programistom debugowanie ich aplikacji. Aby użyć ADB do eksportowania plików tombstone, należy najpierw pobrać i zainstalować. Postępuj zgodnie z instrukcjami podanymi na oficjalnej stronie programistów Androida.

Przygotuj swoje urządzenie​

Upewnij się, że Opcje programisty są włączone (ten ekran jest domyślnie ukryty) i Debugowanie USB jest włączone:

  • Przejdź do Ustawienia → Informacje o telefonie → Informacje o oprogramowaniu.
  • Stuknij Numer kompilacji siedem razy, aż pojawi się komunikat potwierdzający aktywację trybu programisty.
  • W Opcjach programisty włącz Debugowanie USB.

Następnie podłącz urządzenie do stacji roboczej za pomocą kabla USB. Jeśli jest to pierwsze połączenie, pojawi się wyskakujące okienko z prośbą o zezwolenie na debugowanie.

Generowanie raportu o błędach​

  1. Otwórz terminal wiersza poleceń. Na Macu lub Linuksie użyj aplikacji Terminal, a na Windowsie użyj Wiersza polecenia.
  2. Przejdź do folderu platform-tools, w którym znajduje się ADB, używając polecenia cd (na przykład „cd /Users/NazwaUżytkownika/Pobrane/Narzędzia”).
  3. Wygeneruj raport o błędach:
    • Na Macu: adb bugreport
    • Na Windowsie: adb.exe bugreport
  4. Poczekaj kilka minut na wygenerowanie raportu. Wynikowy plik zostanie zapisany w folderze narzędzi platformy.
  5. Rozpakuj plik.
  6. Znajdź folder tombstones z plikami takimi jak tombstone_00, tombstone_01 i podobnymi.
  7. Wyślij pliki tombstone na adres support@osmand.net.

Korzystanie z urządzeń z rootem lub emulatora Android Studio​

  • Z dostępem roota do urządzenia możesz bezpośrednio otworzyć folder /data/tombstones.

  • W Android Studio użyj emulatora, aby przejść do Eksploratora plików urządzenia i znaleźć folder /data/tombstones. Wewnątrz znajdziesz pliki o nazwach takich jak tombstone_00, tombstone_01 i inne. Pobierz te pliki i wyślij je na adres support@osmand.net.

Więcej szczegółów na temat raportów o błędach można znaleźć w dokumentacji Androida.