1. Nimm jetzt an unserem AGM - Gewinnspiel teil - Informationen zum M1, A2 und A8 findest Du hier, hier und hier!
  1. Haggy, 16.05.2011 #1
    Haggy

    Haggy Threadstarter Android-Experte

    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: 16.05.2011
    dedi bedankt sich.
  2. cosmos321, 16.05.2011 #2
    cosmos321

    cosmos321 Android-Lexikon

    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!
     
  3. Haggy, 16.05.2011 #3
    Haggy

    Haggy Threadstarter Android-Experte

    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...
     
  4. DL1ELY, 16.05.2011 #4
    DL1ELY

    DL1ELY Android-Hilfe.de Mitglied

    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
     
  5. Haggy, 16.05.2011 #5
    Haggy

    Haggy Threadstarter Android-Experte

    Danke für's Mitmachen. Wenn wir ein paar Logs zusammenhaben, zeigt sich hoffentlich ein Muster...
     
  6. creepythinman, 16.05.2011 #6
    creepythinman

    creepythinman Neuer Benutzer

    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...
     
  7. Haggy, 16.05.2011 #7
    Haggy

    Haggy Threadstarter Android-Experte

    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.
     
  8. creepythinman, 16.05.2011 #8
    creepythinman

    creepythinman Neuer Benutzer

    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?
     
  9. Haggy, 16.05.2011 #9
    Haggy

    Haggy Threadstarter Android-Experte

    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.
     
  10. creepythinman, 16.05.2011 #10
    creepythinman

    creepythinman Neuer Benutzer

    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: 16.05.2011
  11. Haggy, 16.05.2011 #11
    Haggy

    Haggy Threadstarter Android-Experte

    Hehe nö, da funktioniert das auch nicht :) adb immer vom Rechner aus starten.