Sådan tager du logfiler på Android: Logcat, dmesg og ramoops

Gad vide, hvordan man tager logfiler på Android? I denne guide fortæller vi dig om de forskellige almindelige logfiler på Android, og hvordan du samler dem.

Logfiler er meget nyttige, når en udvikler diagnosticerer en fejl med et stykke software. Så når du som bruger klager til en udvikler over et problem med deres Android-app eller en eftermarkedsfirmware (brugerdefineret ROM), vil de bede dig om at indsende en log for at hjælpe dem med at fejlfinde problemet. Android indeholder en række logfiler, der omhandler forskellige dele af firmwaren, og der er en række måder at indsamle disse logfiler på. I denne guide vil vi tale om de forskellige almindelige logfiler, og hvordan du kan indsamle dem på Android til fejlrapporter.

Før vi starter, bør du konfigurere Android Debug Bridge på din computer, da du muligvis har brug for ADB-adgang til nogle af disse logfiler. Vi har en god guide på hvordan man opsætter ADB på enhver computer.

Kernel panik logs

Kernel panik logs er nyttige til at finde ud af, hvad der skete under en mislykket opstart. Hvis du forsøger at køre en brugerdefineret ROM, men din telefon sidder fast ved opstartsløkken, kan du indsamle kernepaniklogfiler for at hjælpe ROM-udvikleren med at finde ud af, hvad der gik galt.

Et flertal af Android-producenter bruger upstream 'pstore' og 'ramoops' drivere til at gemme kernelogfiler efter en panik. Ramoops skriver sine logfiler til RAM, før systemet går ned. Med root-adgang kan disse logfiler hentes fra:

/sys/fs/pstore/console-ramoops

Filnavnet kan være lidt anderledes, men det vil være i pstore-mappen. Du kan få det ved hjælp af ADB pull eller hvilken som helst anden måde du vil. For eksempel:

adb pull /sys/fs/pstore/console-ramoops C:\Users\Gaurav\Desktop\filename

Driver beskeder

Loggen fra drivermeddelelsesbufferen kan bruges til at diagnosticere problemer med systemdrivere, og hvorfor noget ikke virker. På Android kan du bruge 'dmesg'-outputtet til at hente disse logfiler. Du skal bruge root adgang for at få disse logfiler dog. Brug følgende ADB-kommando til at eksportere hele loggen.

adbshellsu-cdmesg > dmesg.log

System logs

Systemlogfiler er nyttige, når noget i systemet giver en fejl. Android tillader indsamling af systemlogfiler ved hjælp af Logcat. Logmeddelelser kan ses i et Logcat-vindue i Android Studio, eller du kan bruge kommandolinjeværktøjet til at trække dem.

Adskillige Android-apps er også tilgængelige i Google Play Butik, som giver nem adgang til disse værktøjer. Vi vil tale om disse apps senere i denne artikel. Desuden kommer flere brugerdefinerede ROM'er med muligheder i udviklerindstillingerne for at indsamle systemlogfilerne.

For at indsamle logfiler ved hjælp af ADB skal du bruge følgende kommando. Denne kommando eksporterer en kontinuerlig log, så brug Ctrl + C for at stoppe den.

adblogcat > logcat.txt

Du kan bruge parameteren -d til at eksportere hele loggen på én gang.

adblogcat-d > logcat.txt

Hvis du vil, kan du også se eller gemme radiobufferen ved hjælp af følgende kommando.

adblogcat-dbradio > radio.txt

Hvis din enhed er rootet, kan du bruge Terminal-appen på selve enheden til at indsamle logfiler. For at gemme en log ved hjælp af Terminal på din telefon skal du skrive følgende kommando, så loggen gemmes på din telefon.

logcat -d -f /sdcard/logcat.txt

Android apps til at indsamle logfiler

Logcat Extreme

Logcat Extreme kan hjælpe dig med at læse logcat- og dmesg-output samt optagelogfiler. Det kræver root-adgang for at vise logfiler korrekt.

Logcat ExtremeUdvikler: SCDevs

Pris: Gratis.

3.9.

Hent

Logcat-læser

Logcat Reader er en open source-app, der lader dig læse og gemme systemlogfilerne. Det farvekoder logfiler baseret på logprioritet.

Logcat-læserUdvikler: Darshan Parajuli

Pris: Gratis.

4.2.

Hent

LiveBoot

Denne app er ikke en ordentlig logcat-erstatning, men den er cool på sin egen måde og fortjener en omtale. Fokus for denne app er faktisk ikke at hjælpe dig med at fejlsøge, men at give dig en alternativ boot-animation, der ser ud som om den er ude af en sci-fi-film.

LiveBoot erstatter din enheds boot-animation med logcat- og dmesg-output, efterhånden som de sker. Dens output-konfiguration inkluderer logcat-niveau, buffer og formatvalg, om der skal vises dmesg og mere. Det kræver root-adgang samt SuperSU version 2.40 eller nyere. Du kan finde mere om appen på den XDA tråd.

[root] LiveBootUdvikler: Kædebål

Pris: Gratis.

4.2.

Hent

Dette er nogle af måderne, du kan indsamle logfiler på Android. Hvis du leder efter en måde at få root-adgang på din Android-telefon, så tjek vores detaljerede guide på hvordan du rooter din telefon.