[HOWTO] Systemlog mitschreiben wegen Abstürzen und Reboots. MITMACHEN!

  • 10 Antworten
  • Letztes Antwortdatum
Haggy

Haggy

Stamm-User
86
Hallo zusammen,

da ich wie viele Andere auch von den Abstürzen und Neustarts geplagt bin, habe ich ein kleines Shellskript gebaut, welches im Hintergrund die Systemlogs ausliest und in eine Datei in /data/ schreibt. Wenn dann mal wieder ein Absturz ansteht, können wir hoffentlich in den Logs nachlesen wann und warum das passiert ist.

Ich möchte euch bitten, mitzumachen...je mehr Logs wir sammeln um so eher bekommt man das in den Griff. Voraussetzung ist allerdings ROOT und ein wenig Erfahrung mit adb.

1) Skript herunterladen: http://dl.dropbox.com/u/11251744/syslogger.zip
2) Irgendwo auf eurem Rechner entpacken.
3) Telefon per USB anschliessen und USB-Debugging anschalten.
4) /system -Partition schreibbar mounten:
Code:
adb remount
5) Skript nach /system/bin kopieren:
Code:
adb push syslogger.sh /system/bin/
6) Shell aufmachen
Code:
adb shell
7) Skript ausführbar machen:
Code:
chmod 755 /system/bin/syslogger.sh
8) Skript starten
Code:
/system/bin/syslogger.sh

Das Skript beendet sich sofort wieder und hat jetzt im Hintergrund zwei Kommandos gestartet, welche das Android-Log (logcat) und die Kernelmeldungen /proc/kmsg in jeweils eine Datei in /data/ schreiben. Beim nächsten Absturz könnt ihr euch mit adb eine Shell holen und die Dateien auf den PC kopieren:

1) Shell aufmachen
Code:
adb shell
2) Dateiname herausfinden:
Code:
ls -l /data/kmsg_*
(kmsg) und
Code:
ls -l /data/logcat_*
(logcat).
3) Dateien mittels adb pull kopieren:
Code:
adb pull /data/kmsg_<Datum>.txt <Verzeichnis auf PC>

Das Skript läuft nur bis zum nächsten Reboot. Ihr müsst also den Start wiederholen, wenn ihr weitere Logs schreiben wollt. Vorhandene Logs werden dabei nicht überschrieben, sondern erhalten einen neuen Dateinamen mit Startdatum.

Danke!
/Haggy

P.S: Ich übernehme natürlich keine Verantwortung wenn euer Telefon und/oder eure Daten aus irgendwelchen wirren Gründen dabei Schaden nimmt.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: dedi
Finde ich ne super Idee und werde mitmachen, "leider" hatte ich bisher noch keinen einzigen Absturz ! Hab gestern die CM7 V19 draufgemacht und läuft bisher sehr gut!
 
Dann bist du wohl einer der Glücklichen ohne Problemtelefon. Ich verspreche mir von den Logs zumindest ein paar Hinweise - und CM_arcee hat auch bereits nach logcats mit passenden Kernelmeldungen verlangt. Vll. kann man die Jungs da etwas unterstützen...
 
Morgen müsste mein Speed von der "Reparatur" von W-Support zurückkommen. Da ich nicht erwarte dass das "Softwareupdate", was man dem Gerät verpasst hat irgendwas ändert, werde ich mich dann umgehend beteiligen. Bisher konnte ich mit 1-2 nächtlichen Reboots am Ladegerät und ca. alle 2 Tage einen Reboot im Akku-Betrieb dienen. Das Absturz-Reproduzieren sollte also nicht schwer fallen.

Ely
 
Danke für's Mitmachen. Wenn wir ein paar Logs zusammenhaben, zeigt sich hoffentlich ein Muster...
 
Da ich deine Initiative und Mühen sehr schätze, habe ich das auch mal nachgekocht, obwohl nicht adb-erfahren ;)

Ist die letzte Aussage

/system/bin/syslogger.sh: permission denied

ok?

Falls ja hoffe ich auf einen Absturz und werde sicherlich sehr enttäuscht sein, wenn meine Kiste nicht mehr abstürzt ;)

Andy...
 
creepythinman schrieb:
/system/bin/syslogger.sh: permission denied
Das ist schlecht. Hast du dein Telefon gerootet? Hol dir mal eine Shell mit adb (adb shell) und gib "id" ein...da muss dann uid/gid 0 stehen, sonst bist nicht root und kannst das skript nicht starten. alternativ könnten auch die berechtigungen nicht stimmen. hierzu dann einfach wieder in der adb shell ein "chmod 755 /system/bin/syslogger.sh" ausführen. Danach sollte es gehen.
 
Ja, habe root. Nach deinem empfohlenen Befehl und einem erneuten ausführen kommt jetzt als Antwort:

/system/bin/syslogger.sh

Läuft dann das script?
 
Yepp, keine Meldung ist gute Meldung :)

Ich werd's oben mitaufnehmen. Kann sein, dass ich das X-bit (das das Skript ausführbar macht) erst gesetzt habe als ich das ZIP schon verpackt hatte.

Du kannst leicht kontrollieren ob es funktioniert...mach einfach die Schritte zum Auslesen des Logs.
 
Okay, die Dateinamen kann ich jetzt auslesen, aber ich finde nichts im Zielordner. Den gebe ich als E:\ an, ist das korrekt? Oh mann, schon seeehr lange her, dass ich in den DOS-Ebenen Befehle eingehackt habe ;)

EDIT: Okay, mein Anwenderfehler, ich hatte den adb pull-Befehl in der shell eingegeben, das soll man scheinbar nicht ;)
 
Zuletzt bearbeitet:
Hehe nö, da funktioniert das auch nicht :) adb immer vom Rechner aus starten.
 

Ähnliche Themen

_FreshPrince_
  • _FreshPrince_
Antworten
15
Aufrufe
1.563
impidan
impidan
D
  • Dobby16
Antworten
8
Aufrufe
1.954
Scarysize
S
T
Antworten
0
Aufrufe
739
ThomasF
T
Zurück
Oben Unten