¿Es posible recuperar un logcat anterior a un bloqueo del sistema después de que el teléfono se recupere? Es decir, mi teléfono funciona normalmente, luego se bloquea y se reinicia, y quiero ver los registros cuando se recupera para tratar de determinar qué causó el bloqueo. No puedo encontrar ninguna forma de ver logcat en otra cosa que no sea en tiempo real, excepto tener un emulador de terminal ejecutándose y ejecutándose logcat -f logcat.txt V
, luego déjelo ejecutándose para siempre. Eso podría generar un archivo masivo que consume todo mi almacenamiento.
No puedo creer que no haya forma de ver un informe de bloqueo, simplemente no puedo entender cómo.
Desafortunadamente logcat no sobrevive a un reinicio completo porque los registros se almacenan en búferes circulares en la memoria y en realidad nunca se escriben en el almacenamiento. Su solución para dejar una sesión de terminal en ejecución puede funcionar, pero como dijo, el archivo puede crecer sin control y, durante un reinicio, puede dañar el archivo de salida. Sugeriría agregar los interruptores -r
y -n
para que solo se escriban las entradas más recientes:
logcat -r 1024 -n 10 -f /sdcard/logcat.txt &
Esto limita los registros a 10 archivos denominados "logcat.txt", "logcat.txt.2", etc., cada uno de 1 MB de tamaño. Cuando se alcance ese límite, sobrescribirá el primer archivo, y así sucesivamente.
También puede buscar en /proc/last_kmsg
el archivo, que almacena los registros del kernel justo antes del último reinicio. Use cat /proc/last_kmsg > /sdcard/last_kmsg.txt
el comando para escribir su contenido en un archivo en su almacenamiento.
ewok
logcat.txt
, con los registros más antiguos incrementando su sufijo, o el registro más nuevo simplemente sobrescribirá al más antiguo y mantendrá el mismo nombre?Chahk
ewok
ewok
Chahk
top
el comando le dará todos los procesos que se están ejecutando actualmente. Intente matar el proceso llamado "logcat" con el propietario "shell". La sintaxis esadb shell kill NNNN
donde "NNNN" es el ID del proceso (primera columna entop
). Además, reiniciar el dispositivo definitivamente lo detendrá :)