¿Cómo puedo determinar la causa de los reinicios aleatorios del dispositivo?

Después de estar molesto con mi ROM anterior, pensé en instalar ICS en mi SGS2 (hasta que salga CM9). Pero, lamentablemente, ahora se reinicia varias veces al día sin ningún motivo real. El dispositivo está sobre la mesa sin hacer nada y, de vez en cuando, la pantalla se enciende y puedo ver cómo se reinicia.

Entonces, ¿cómo empezaría a analizar este tema? Obviamente, podría intentar flashear diferentes ROM como un loco hasta que el problema se resuelva solo, pero preferiría un enfoque más sensato.

Respuestas (5)

Puede instalar el SDK de Android y usar DDMS para monitorear el logcat. Lo que pasa con un logcat, se borra cuando el dispositivo se reinicia, pero es posible que pueda tener una idea de lo que está fallando si lo está monitoreando antes de que se reinicie.

Probablemente también pueda encontrar nightlies CM9 no oficiales para el Galaxy S2, pero no estoy seguro de qué problemas existen todavía para ese dispositivo.

Que yo sepa, estos son los problemas alfa actuales de CM9: teamhacksung.org/wiki/index.php/…

Tuve un problema similar de reinicio aleatorio, y después de uno de esos reinicios, conecté el teléfono a mi computadora portátil y ejecuté "adb bugreport". Obtuve lo que parecía información útil y la adjunté al error. Así que creo que al menos parte de la información de registro sobrevive a un reinicio.

Aquí está el error, por cierto: http://code.google.com/p/android/issues/detail?id=24118

Oh wow, eso genera una TONELADA de salida. Lo ejecutaré de nuevo después del próximo reinicio y veré qué escupe.
Me he vuelto loco tratando de descubrir un reinicio aleatorio en uno de mis teléfonos de prueba. No soy el OP, pero esto es extremadamente útil, ¡gracias por publicarlo!
Mi respuesta tiene tres años. Desde entonces, Android tiene una forma integrada de enviar (lo que supongo que son) informes de fallas: Settings/ About phone/ Send feedback about this device. Lo usé varias veces en Android 5.0, y cuando salió 5.1, recibí una pequeña nota de Google que decía "gracias por ayudarnos a hacer que 5.1 sea más estable"... ¡y no se ha reiniciado desde que actualicé a 5.1!

Lo primero que intentaría hacer es recuperar los registros de los errores a través de ADB y/o volcados de memoria.

Recuperar los registros es complicado, ya que la caché de registros se borra al reiniciar. Si el teléfono se reinicia incluso mientras está sentado en un cargador, intente ejecutarlo adb logcatcontinuamente (necesitará que los controladores SDK y USB de Android estén instalados y configurados en su PC). Cuando el teléfono se reinicie, mire las últimas páginas en la ventana del símbolo del sistema para ver si hay errores. o anomalías.

Si no puede reproducir los reinicios mientras el teléfono está conectado a USB, sugiero instalar una aplicación como aLogcat y configurarla para escribir registros en la tarjeta SD en un intervalo. Con suerte, tendrás suerte y detectarás los errores de esa manera.

También puede intentar extraer los volcados de memoria mediante los siguientes comandos:

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

Esto debería crear un archivo llamado "last_kmsg" en su tarjeta SD que contiene los últimos mensajes de depuración del núcleo. Ábralo con cualquier editor de texto y vea si aparece algo obvio.

O estoy usando el shell ADB incorrectamente o /proc/last_kmsgno existe en mi teléfono.
@OliverSalzburg echa un vistazo a stackoverflow.com/a/10525021/529977 /data/dontpanic
@DerHochstapler No estoy seguro de si es lo mismo y me doy cuenta de que tu comentario tiene 9 años, pero mi dispositivo Android 11 tiene /proc/last_log/kmesg(no puedo leerlo, tengo que descubrir cómo obtener sulol. Ojalá Android fuera Linux)
Para usarlo su, primero debe rootear su dispositivo Android. Buscaría opciones no root, tal vez las mencionadas/data/dontpanic

Puedes probar aLogrec, y si te gusta, la versión donar. Escrito por el mismo programador que escribió aLogcat, registra continuamente el registro (logcat) en su tarjeta SD. No lo he probado para ver cómo reacciona con el reinicio de un bloqueo, pero probé con un reinicio manual y el registro grabado sobrevivió al reinicio y pude ver la secuencia de apagado registrada. Una desventaja es que el registro no incluye marcas de tiempo.

Mi T-mobile S II se bloqueaba (reiniciaba) cuando usaba las funciones básicas: finalizar una llamada (una vez), tomar una foto (una vez) o usar la navegación (3 veces). Actualicé de ICS 4.0.3 a 4.0.4. Hasta ahora ha sido bueno. Ojalá hubiera sabido acerca de aLogrec mientras estaba teniendo estos reinicios.

supuestamente no funciona en 4.x según las revisiones
Sin embargo, Logcat Extreme funciona en 4.x. play.google.com/store/apps/details?id=scd.lcex&hl=en

Tuve el mismo problema, pero en los pocos minutos que me dio cada vez que experimenté y descubrí que dejaba de fallar si iba a la actualización de red en la configuración, aunque no hay ninguna actualización disponible. Ahora funciona, pero me molestaría tener que hacer eso cada vez.