GNU/Linux >> Tutoriales Linux >  >> Linux

¿Dónde almacena Android los registros de apagado?

Busque en algunos lugares como estos:

/proc/last_kmsg
/data/tombstones/
/data/dontpanic/
/data/system/dropbox/

(Esta lista no son estrictamente registros del núcleo, incluidos los registros del marco y de la aplicación, que a veces también son de interés)


TL;RD :
Ejecute el comando a través de adb que copia logcat y proc/kmsg en un archivo y manténgalo ejecutándose incluso cuando adb se desconecte con nohup , disown o setsid . Probablemente necesita busybox, también necesita root y adb root.
setsid cat proc/kmsg > /sdcard/kmsg.txt &
y
logcat -v long -f /sdcard/logcat.txt (de alguna manera solo funciona sin setsid )

O agregue comandos de copia normales a algún script de inicio.
/TL;DR

Puedes copiar constantemente proc/kmsg y logcat a un archivo en su dispositivo Android o una tarjeta microSD para obtener los registros incluso después de que adb se desconecte.

Necesita acceso de root y acceso de root adb para que esto funcione. Para este último, use la configuración en las opciones de desarrollador si tiene una rom personalizada o la aplicación insegura adbd.

Después de usar adb shell para obtener su shell de Android, escriba su para obtener acceso de superusuario.

Entonces no solo necesitas poner un ampersand (& ) después del comando, pero también asegúrese de que el comando siga ejecutándose después de que adb se desconecte. Eso lo hace nohup , disown o setsid (ver aquí para el uso).
Si no funciona porque no tienes estos comandos, necesitas instalar busybox.
Vea mi pregunta aquí.

Consulte aquí cómo obtener logcat y registros del kernel e imprimirlos en algún archivo o fusionarlos. Consulte developer.android.com/tools/help/logcat.html para conocer los parámetros del comando logcat.

Al final podrías tener un comando como setsid cat proc/kmsg > /sdcard/kmsg.txt & para los mensajes del kernel.

Para logcat podría tener uno de los siguientes comandos:logcat -v long -f /sdcard/logcat.txt o logcat -v long > /sdcard/logcat.txt

No sé por qué, pero a veces no funcionaba con setsid y simplemente no copió continuamente, sino que se detuvo poco después de ejecutar el comando. En estas situaciones, también aparecía al ingresar jobs , que no lo hizo de otra manera. Entonces simplemente funcionó sin setsid , se mantuvo vivo después de desconectarse y volver a conectarse. Supongo que debes intentarlo cuando el archivo siga creciendo. Si alguien descubrió por qué se está comportando así... házmelo saber y editaré la respuesta.

Probablemente agregar los comandos a un script de inicio también podría ser una solución para algunos.

Espero que esto ayude.

galleta de pelea


Una solución que encontré para recopilar registros de apagado en Android es ejecutar adb pull /proc/kmsg C:\Logs.txt en la PC anfitriona y luego apague el dispositivo. ¡Obtendrá los registros hasta que se rompa la comunicación USB entre el host y el dispositivo! Sé que este es solo un caso de los numerosos escenarios de cierre, ¡pero no he encontrado respuestas satisfactorias para otros casos!


Linux
  1. ¿Cómo sabe Gcc dónde está instalado Boost?

  2. Debian:¿dónde almacena Debian el historial de conectividad de red?

  3. ¿Dónde almacena los archivos Wine?

  4. ¿Dónde almacena Cheese sus imágenes?

  5. ¿Dónde busca Eclipse eclipse.ini en Linux?

¿Qué son los registros de Linux y dónde encontrarlos?

Cómo instalar ADB y Fastboot en Ubuntu 20.04, 18.04, 21.04

¿De dónde toma 'pkg-config' su información?

¿Dónde almacena Google Chrome para Linux los datos específicos del usuario?

¿De dónde viene la ruta a 169.254.0.0?

Logrotate no elimina los registros antiguos