Emplacement du fichier journal
Il existe plusieurs répertoires dans lesquels les journaux (y compris ceux provenant de crashes) peuvent apparaître - ils ne sont pas tous normalisés (certains peuvent être spécifiques à une ROM).
/data/anr
: Certains fichiers de trace semblent arriver ici (Dalvik écrit des traces de pile ici sur ANR, c'est-à-dire "Application ne répondant pas" ou "Force-Close"; voir par exemple les extraits du journal ici )
/data/dontpanic
semble être un emplacement standard (AOSP) et contient certains journaux d' incidents, y compris des traces (voir par exemple viaForensics et StackOverflow )
/data/kernelpanics
est un autre endroit - n'ayant pas eu de "panique du noyau" sur mes appareils Android, je n'ai pas encore vu de contenu.
- le
/data/panic/panic_daemon.config
peut pointer vers d'autres emplacements configurés - sur mon Droid 2, il mentionne/sdcard/panic_data/
- mentionné Droid 2 a également un
/data/panicreports
répertoire (vide ici)
/data/tombstones
peut contenir plusieurs tombstone_nn
fichiers (le nn
numéro de série augmentant à chaque nouveau fichier). Comme les pierres tombales sont placées pour les morts, ceci est fait ici pour les "processus morts par accident" (c'est-à-dire bloqués) - et il s'agit de ce que l'on appelle des "core dumps" sur les systèmes Linux / Unix. Cependant, toutes les applications ne créent pas de pierres tombales; cela doit être explicitement activé par le développeur (voir Débogage des core dumps sous Android ).
Il y a peut-être d'autres endroits qui m'ont échappé; mais comme la plupart des opérations de journalisation sont effectuées tmpfs
, ces données sont perdues lors du redémarrage et ne correspondent pas à la question des OP.
Journal des commandes à utiliser avec une application de terminal (ou adb)
Plusieurs commandes peuvent vous fournir des tonnes d'informations. Pour la plupart d'entre eux, il est recommandé de les rediriger vers un fichier ( > filename.ext
) ou de les diriger vers un filtre ( | grep search-for-this
):
Journal du noyau
Ce qui suit fonctionne sans root:
$ dmesg
<6>[82839.126586] PM: Syncing filesystems ... done.
<7>[82839.189056] PM: Preparing system for mem sleep
<4>[82839.189361] Freezing user space processes ... (elapsed 0.05 seconds) done.
<4>[82839.240661] Freezing remaining freezable tasks ... (elapsed 0.00 seconds) done.
<snip>
Logcat
Ici, vous pouvez par exemple spécifier le domaine qui vous intéresse - radio, événements ...
# logcat -b events
I/am_create_service( 3457): [1085416560,nitro.phonestats/.widget.WidgetProvider4x1$WidgetUpdateService4x1,,3721]
I/am_destroy_service( 3457): [1085416560,nitro.phonestats/.widget.WidgetProvider4x1$WidgetUpdateService4x1,3721]
I/notification_cancel( 3457): [nitro.phonestats,4,0]
<snip>
Obtenir des informations sur l'appareil
Et des tonnes: spécificités de l'appareil, informations de compte, services ...
$ dumpsys
Currently running services:
LocationProxyService
SurfaceFlinger
accessibility
account
activity
<snip>
DUMP OF SERVICE account:
Accounts:
1 Account {name=xxxxxxx@googlemail.com, type=com.google}
<snip>
$ dumpstate
========================================================
== dumpstate: 2012-08-18 23:39:53
========================================================
Build: Gingerbread GWK74 - CyanogenMilestone2
Bootloader: 0x0000
Radio: unknown
<snip>
------ MEMORY INFO (/proc/meminfo) ------
MemTotal: 487344 kB
MemFree: 10436 kB
<snip>
Tout en un
Faites une grosse boule avec tout, de logcat à dumpstate:
$ bugreport > /mnt/sdcard/bugreport.txt
Je suis sûr que vous voulez vraiment rediriger cette dernière commande ... xD
Quelque chose à propos des autorisations
PS: Naturellement, l’accès à ces informations peut nécessiter l’utilisation de root, car la plupart des sources se trouvent dans la mémoire interne.