Как определить причину случайной перезагрузки устройства?

30

После досады из-за моего предыдущего ПЗУ я решил установить ICS на свой SGS2 (пока не выйдет CM9). Но, к сожалению, теперь он перезагружается несколько раз в день без какой-либо реальной причины. Устройство просто лежит на столе, ничего не делая, и время от времени включается экран, и я могу наблюдать за его перезагрузкой.

Итак, как мне начать анализировать эту проблему? Очевидно, я мог бы пытаться прошивать разные ПЗУ, как сумасшедший, пока проблема не решится сама собой, но я бы предпочел более разумный подход.

Der Hochstapler
источник

Ответы:

6

Вы можете установить Android SDK и использовать DDMS для мониторинга logcat. Что касается logcat, то он очищается при перезагрузке устройства, но вы можете получить представление о том, что происходит сбой, если вы наблюдаете за ним до его перезагрузки.

Вероятно, вы также можете найти неофициальные ночные игры CM9 для Galaxy S2, но я не уверен, какие проблемы все еще существуют для этого устройства.

Райан Конрад
источник
Насколько мне известно, это текущие вопросы CM9 альфа: teamhacksung.org/wiki/index.php/...
Der Hochstapler
14

У меня была похожая проблема случайной перезагрузки, и после одной такой перезагрузки я подключил телефон к ноутбуку и запустил на нем «adb bugreport». Я получил то, что выглядело как полезную информацию, и прикрепил ее к ошибке. Таким образом, я думаю, что по крайней мере некоторая информация журнала переживает перезагрузку.

Вот ошибка, кстати: http://code.google.com/p/android/issues/detail?id=24118

offby1
источник
Ого, это генерирует тонну продукции. Я буду запускать его снова после следующей перезагрузки и посмотрю, что из этого выйдет.
Der Hochstapler
Я сходил с ума, пытаясь выяснить случайную перезагрузку на одном из моих тестовых телефонов. Я не OP, но это очень полезно, спасибо за размещение!
Эми
1
Моему ответу три года. С тех пор в Android появился встроенный способ отправки (как я полагаю) отчетов о сбоях: Settings/ About phone/ Send feedback about this device. Я использовал это несколько раз на Android 5.0, и когда вышел 5.1, я получил небольшое примечание от Google, в котором говорилось: «Спасибо, что помог нам сделать 5.1 более стабильным» ... и он не перезагружался с тех пор, как я обновился до 5.1!
offby1
7

Первое, что я бы попытался сделать, это получить журналы ошибок через ADB и / или аварийные дампы.

Извлечение журналов сложно, так как кэш журнала стирается при перезагрузке. Если телефон перезагружается, даже если он находится на зарядном устройстве, попробуйте запустить его adb logcatпостоянно (на вашем ПК должны быть установлены и настроены драйверы Android SDK и USB). Когда телефон перезагрузится, просмотрите последние несколько страниц в окне командной строки на наличие ошибок. или аномалии.

Если вы не можете воспроизвести перезагрузки, когда телефон подключен к USB, я предлагаю установить приложение, такое как aLogcat , и настроить его для записи журналов на SD-карту с интервалом. Надеюсь, вам повезет и вы поймете ошибки таким образом.

Вы также можете попробовать извлечь аварийные дампы с помощью следующих команд:

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

Это должно создать файл с именем «last_kmsg» на вашей SD-карте, который содержит последние несколько сообщений отладки из ядра. Откройте его в любом текстовом редакторе и посмотрите, появляется ли что-нибудь очевидное.

Chahk
источник
2
Либо я неправильно использую оболочку ADB, либо /proc/last_kmsgотсутствует на моем телефоне.
Der Hochstapler
@OliverSalzburg взгляните на stackoverflow.com/a/10525021/529977 /data/dontpanic
childno͡.de
3

Вы можете попробовать aLogrec, и если вам это нравится, пожертвовать версию. Написанный тем же программистом, который написал aLogcat, он непрерывно записывает журнал (logcat) на вашу SD-карту. Я не проверял его на то, как он реагирует с перезапуском после сбоя, но я протестировал с ручным перезапуском, и записанный журнал пережил перезапуск и мог видеть, что последовательность выключения регистрируется. Недостатком является то, что журнал не включает метки времени.

Мой T-mobile S II был сбой (перезапуск) при использовании основных функций - завершение вызова (один раз), фотографирование (один раз) или использование навигации (3 раза). Я обновил с ICS 4.0.3 до 4.0.4. Пока это было хорошо. Хотел бы я знать об aLogrec, пока у меня были эти перезапуски.

Skurfur
источник
предположительно не работает в 4.x по отзывам
endolith
1
Хотя Logcat Extreme работает в 4.x. play.google.com/store/apps/details?id=scd.lcex&hl=en
эндолит
1

У меня была та же проблема, но через несколько минут она давала мне каждый раз, когда я экспериментировал, и обнаруживал, что она перестала падать, если я перешел к сетевому обновлению в настройках, даже если обновление недоступно. Теперь это работает, но я бы раздражал необходимость делать это каждый раз.

Эндрю Бракенбери
источник