Jak mogę ustalić przyczynę losowego restartu urządzenia?

30

Po zirytowaniu moją poprzednią pamięcią ROM, pomyślałem, że zainstaluję ICS na moim SGS2 (dopóki CM9 nie wyjdzie). Niestety, teraz restartuje się kilka razy dziennie bez prawdziwego powodu. Urządzenie po prostu leży na stole i nic nie robi, a od czasu do czasu włącza się ekran i mogę oglądać, jak się restartuje.

Jak mam zacząć analizować ten problem? Oczywiście mógłbym spróbować sflashować różne ROM-y jak szalony człowiek, dopóki problem sam się nie rozwiąże, ale wolałbym bardziej rozsądne podejście.

Der Hochstapler
źródło

Odpowiedzi:

6

Możesz zainstalować zestaw Android SDK i używać DDMS do monitorowania logcat. Rzecz z logcat, jest wyczyszczona, gdy urządzenie uruchomi się ponownie, ale możesz być w stanie dowiedzieć się, co się zawiesza, jeśli monitorujesz go przed ponownym uruchomieniem.

Prawdopodobnie można również znaleźć nieoficjalne nightlies CM9 dla Galaxy S2, ale nie jestem pewien, jakie problemy nadal istnieją dla tego urządzenia.

Ryan Conrad
źródło
Według mojej wiedzy, są to aktualne problemy z alfą CM9: teamhacksung.org/wiki/index.php/…
Der Hochstapler 30.01.12
14

Miałem podobny problem z przypadkowym ponownym uruchomieniem komputera i po jednym takim ponownym uruchomieniu podłączyłem telefon do laptopa i uruchomiłem na nim raport o błędzie adb. Dostałem coś, co wyglądało na przydatną informację, i załączyłem ją do błędu. Myślę więc, że przynajmniej niektóre informacje z dziennika przetrwają restart.

Oto błąd, btw: http://code.google.com/p/android/issues/detail?id=24118

offby1
źródło
Och, wow, to generuje TON mocy wyjściowej. Uruchomię go ponownie po następnym uruchomieniu i zobaczę, co wypluje.
Der Hochstapler,
Oszalałem próbując wymyślić losowy restart na jednym z moich telefonów testowych. Nie jestem OP, ale to jest bardzo pomocne, dziękuję za opublikowanie go!
amy
1
Moja odpowiedź ma trzy lata. Od tego czasu Android ma wbudowany sposób przesyłania (jak zakładam) raportów o awariach: Settings/ About phone/ Send feedback about this device. Używałem tego wiele razy na Androidzie 5.0, a kiedy pojawił się 5.1, dostałem od Google małą notatkę z napisem „dzięki za pomoc w uczynieniu 5.1 bardziej stabilnym” ... i nie uruchomił się ponownie od czasu aktualizacji do 5.1!
offby1
7

Pierwszą rzeczą, którą spróbuję zrobić, jest odzyskanie dzienników błędów za pośrednictwem ADB i / lub zrzutów awaryjnych.

Pobieranie dzienników jest trudne, ponieważ pamięć podręczna dzienników jest usuwana przy ponownym uruchomieniu. Jeśli telefon uruchomi się ponownie, nawet gdy siedzisz na ładowarce, spróbuj uruchomić adb logcatnieprzerwanie (będziesz potrzebować zainstalowanych i skonfigurowanych na komputerze PC SDK i sterowników USB). Gdy telefon uruchomi się ponownie, spójrz na kilka ostatnich stron w oknie wiersza polecenia, aby znaleźć błędy lub nieprawidłowości.

Jeśli nie możesz odtworzyć restartów, gdy telefon jest podłączony do USB, sugeruję zainstalowanie aplikacji takiej jak aLogcat i skonfigurowanie jej do zapisywania logów na karcie SD w odstępach czasu. Mamy nadzieję, że będziesz miał szczęście i w ten sposób złapiesz błędy.

Możesz także spróbować wyciągnąć zrzuty awarii za pomocą następujących poleceń:

su  
cat /proc/last_kmsg > /mnt/sdcard/last_kmsg

Powinno to utworzyć plik o nazwie „last_kmsg” na karcie SD, który zawiera kilka ostatnich komunikatów debugowania z jądra. Otwórz go w dowolnym edytorze tekstu i sprawdź, czy pojawi się coś oczywistego.

Chahk
źródło
2
Albo używam powłoki ADB niepoprawnie lub /proc/last_kmsgnie ma jej w moim telefonie.
Der Hochstapler
@OliverSalzburg spojrzeć na stackoverflow.com/a/10525021/529977 /data/dontpanic
childno͡.de
3

Możesz wypróbować aLogrec, a jeśli ci się spodoba, przekaż wersję. Napisany przez tego samego programistę, który napisał aLogcat, stale zapisuje log (logcat) na karcie SD. Nie testowałem go pod kątem reakcji z restartem po awarii, ale testowałem z ręcznym restartem, a zapisany dziennik przetrwał restart i widziałem, że rejestrowana jest sekwencja zamykania. Jednym minusem jest to, że dziennik nie zawiera znaczników czasu.

Mój T-mobile S II ulegał awarii (restart) podczas korzystania z podstawowych funkcji - kończenia połączenia (raz), robienia zdjęcia (raz) lub korzystania z nawigacji (3 razy). Uaktualniłem z ICS 4.0.3 do 4.0.4. Jak dotąd było dobrze. Chciałbym wiedzieć o aLogrec podczas tych ponownych uruchomień.

Skurfur
źródło
podobno nie działa w 4.x według opinii
endolith
1
Logcat Extreme działa jednak w wersji 4.x. play.google.com/store/apps/details?id=scd.lcex&hl=pl
endolith
1

Miałem ten sam problem, ale w ciągu kilku minut dało mi to za każdym razem, gdy eksperymentowałem i okazało się, że przestało się zawieszać, gdybym poszedł do aktualizacji sieci w ustawieniach, mimo że aktualizacja nie jest dostępna. Teraz działa, ale denerwujące jest to, że muszę to robić za każdym razem.

Andrew Brackenbury
źródło