1 votos

recuperar logcat después de una caída del sistema

¿Es posible recuperar un logcat de antes de una caída del sistema después de que el teléfono se recupere? Es decir, mi teléfono está funcionando normalmente, entonces se bloquea y se reinicia, y quiero ver los registros cuando se recupera para tratar de determinar lo que causó el accidente. No puedo encontrar ninguna manera de ver logcat en otra cosa que no sea en tiempo real, excepto tener un emulador de terminal corriendo y ejecutar logcat -f logcat.txt V Entonces, déjalo funcionando para siempre. Eso podría crear un archivo masivo que se come todo mi almacenamiento.

No puedo creer que no haya manera de ver un informe de accidente, no puedo averiguar cómo.

3voto

Chahk Puntos 15796

Desgraciadamente, logcat no sobrevive a un reinicio duro porque los registros se almacenan en búferes circulares en la memoria, y nunca se escriben realmente en el almacenamiento. Su solución de dejar una sesión de terminal corriendo puede funcionar, pero como usted dijo puede hacer crecer el archivo incontroladamente, y durante un reinicio puede corromper el archivo de salida. Yo sugeriría añadir el -r y -n para que sólo se escriban las entradas más recientes:

logcat -r 1024 -n 10 -f /sdcard/logcat.txt &

Esto limita los registros a 10 archivos llamados "logcat.txt", "logcat.txt.2", etc., cada uno de 1MB de tamaño. Cuando se alcance ese límite, se sobrescribirá el primer archivo, y así sucesivamente.

También es posible que desee consultar /proc/last_kmsg que almacena los registros del kernel justo antes del último reinicio. Utilice cat /proc/last_kmsg > /sdcard/last_kmsg.txt para escribir su contenido en un archivo de su almacenamiento.

0 votos

Lo primero es probablemente la mejor opción. ¿Sigue existiendo el riesgo de que el último archivo se corrompa en el fallo del disco? Además, ¿el registro más reciente se llamará siempre logcat.txt ¿Incrementando el sufijo de los registros más antiguos, o el registro más nuevo sobrescribirá al más antiguo y mantendrá el mismo nombre?

1 votos

El más nuevo siempre se llamará "logcat.txt", y los otros se llamarán .1, .2 y .3. Y sí, siempre existe el riesgo de que el archivo en el que se está escribiendo se corrompa en caso de fallo.

0 votos

Bien, nuevo problema. He iniciado esto desde un shell adb, que es agradable porque se ejecuta en el fondo. pero accidentalmente puse los archivos de salida en mi sdcard interna en lugar de externa y no puedo averiguar cómo matar el proceso. Cerré el shell pero el proceso sigue corriendo

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X