1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

Aktivierung kernel logging / logcat Meldungen

Dieses Thema im Forum "Root / Hacking / Modding für Huawei Ideos X3" wurde erstellt von pixelator, 16.09.2011.

  1. pixelator, 16.09.2011 #1
    pixelator

    pixelator Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    105
    Erhaltene Danke:
    13
    Registriert seit:
    15.09.2011
    Was mir jetzt noch fehlt zu meinem Glück ist das die Aktivierung des kernel loggings damit ich LogCat Meldungen von laufenden apps erhalten kann. Das ist für die App-Entwicklung schon sehr wichtig...

    Wo finde ich diese LogCat Meldungen?

    (1) Man kann sich auch die App "aLogcat" aus dem Market herunterladen oder als APK:
    alogcat-2.3.apk - alogcat - aLogcat 2.3 for Android 1.6+ - Android Log Viewer (logcat) Application - Google Project Hosting

    Hier bekomme ich leider nur einen weißen Bildschirm, also keine Meldungen.


    (2) Man sieht die LogCat Meldungen auch per

    Code:
    adb logcat
    oder in der LogCat View des Eclipse Android SDK Plugins live sehen.

    Leider bekomme ich stattdessen nur

    Code:
    Unable to open log device '/dev/log/main': No such file or directory
    Da bin ich bisher nicht weiter gekommen. :confused2:

    Ich sehe, dass nach dem Booten keine Datei

    /dev/log/main

    angelegt ist. Bei meinem HTC Desire gibt es sowohl den Ordner log, als auch 4 device-Dateien darin:


    Code:
    $ cd dev
    $ ls -l log
    drwxr-xr-x root     root              2011-09-16 08:56 log
    
    $ cd log
    $ ls -l
    crw-rw--w- root     log       10,  34 2011-09-16 08:56 system
    crw-rw--w- root     log       10,  35 2011-09-16 08:56 radio
    crw-rw--w- root     log       10,  36 2011-09-16 08:56 events
    crw-rw--w- root     log       10,  37 2011-09-16 08:56 main
    
    Wenn ich auf dem Ideos X3 versuche, den log-Ordner manuell anzulegen mit

    Code:
    $su
    # mkdir /dev/log
    und dann z.B. das device file "main" händisch anlege mit

    Code:
    # mknod main c 10 37
    bekomme ich in der Shell des PCs nach

    Code:
    adb logcat
    die Meldung

    Code:
    Unable to open log device '/dev/log/main': Device or resource busy
    Nach einem reboot sind die Dateien und Ordner dann wieder weg.

    Man muss irgendwo im init-Prozess verankern, dass die Dateien (die "Geräte") angelegt werden.

    Als Parallele gibt es einen TIP, den bootprozess auch sichtbar zu loggen:

    Debug Message while Boot Up - android-porting | Google Groups

    ...nur ob das dann auch wirklich nach /dev/log/main loggt
    wenn man eines der (welches überhaupt?) init-Skripte
    um z.B. diese Zeile ergänzt?

    Code:
    service logcat /system/bin/logcat -r 1000 -v long -f /dev/log/main 
    In einem anderen Beitrag habe ich gelesen, dass das logging bei vielen custom ROMs abgeschaltet sei aus Performancegründen und man es durch auskommentieren einer Zeile zum logging überreden könnte. Leider existiert eine solche Zeile im ROM nicht:

    Where, Oh Where Has My Little Log Gone? (ApeX 1.4.1 bug?) - Android Forums



    Und was mich zum Schluss noch stutzig macht, ist die Datei uevent.rc
    in der ich einen Hinweis gefunden haben, dass
    "/dev/log/* being world-writable but not being world-readable for security reasons."

    Nur ist nach dem Booten ja wie gesagt überhaupt kein Verzeichnis log vorhanden
    auf das man diese Anpassung der Rechte vornehmen könnte (es sei denn der Ordner
    log würde irgendwo nach dem Booten automatisch gelöscht und nicht wieder angelegt.)


    Hier ist der Android logger beschrieben:

    Android logger - eLinux.org

    Dort steht sinngemäß dass der logger automatisch aktiv wird, wenn die Gerätedateien angelegt sind. (Man möge mich bitte korrigieren...):

     
    Zuletzt bearbeitet: 22.09.2011
  2. pixelator, 16.09.2011 #2
    pixelator

    pixelator Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    105
    Erhaltene Danke:
    13
    Registriert seit:
    15.09.2011
  3. pixelator, 22.09.2011 #3
    pixelator

    pixelator Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    105
    Erhaltene Danke:
    13
    Registriert seit:
    15.09.2011
    Isch geh kapott!

    Es geht doch tatsächlich auch "auf klick" ohne ein ROM anzupassen etc.

    Dank des Hinweises von swmail aus dem Ideos X3 Forum (Info / Huawei U8510 IDEOS X3 Forum) kenne ich nun das versteckte Service-Menü:

    Man muss als Telefonnummer eingeben:

    *#*#2846579#*#*

    Dann öffnet sich das Service menü, in dem man viele Informationen sehen und Einstellungen vornehmen kann.


    Das logging konnte ich letztendlich aktivieren durch:

    1.) logging einschalten
    2.) log level auf "verbose" stellen
    3.) Checkboxen anklicken für "Open Dump & Log", "Changing log switch" and "Open Sleep Log" in DumpPreferenceActivity


    (Nach einem Neustart waren die Einstellungen wohl wieder weg, aber damit kann ich leben- bin froh das es schlussendlich doch geht...)
     
    Unbunt, Gigagott, TSC Yoda und eine weitere Person haben sich bedankt.
  4. Ryuk, 22.09.2011 #4
    Ryuk

    Ryuk Android-Lexikon

    Beiträge:
    1,010
    Erhaltene Danke:
    207
    Registriert seit:
    19.09.2011
    ein service-menu...das is ja mal was feines... :thumbup:
     
  5. pixelator, 22.09.2011 #5
    pixelator

    pixelator Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    105
    Erhaltene Danke:
    13
    Registriert seit:
    15.09.2011
  6. pixelator, 22.09.2011 #6
    pixelator

    pixelator Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    105
    Erhaltene Danke:
    13
    Registriert seit:
    15.09.2011
    TSC Yoda bedankt sich.
  7. pixelator, 24.09.2011 #7
    pixelator

    pixelator Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    105
    Erhaltene Danke:
    13
    Registriert seit:
    15.09.2011
    Die Logmeldungen kann man sich auf dem Smartphone selbst mit der kostenlosen Market-App "alogcat" anschauen.

    Etwas übersichtlicher hat man es allerdings, wenn man das Smartphone per USB an den PC anschließt und das Android SDK installiert hat. Dann kann man in der Konsole / Eingabeaufforderung / shell eingeben:

    adb logcat


    Und am komfortabelsten hat man es wenn man das Android SDK, Eclipse (Helios) und das "Eclipse Android SDK Plugin" installiert hat. Dann kann man sich die Meldungen in einer Eclipse LogCat View anzeigen und nach Log-Leveln, Wörtern oder Teilen davon filtern. (Eclipse bietet per DDMS auch eine Screenshot-Funktion, die übrigens ganz ohne rooting funktioniert.)
     
  8. Unbunt, 04.01.2012 #8
    Unbunt

    Unbunt Neuer Benutzer

    Beiträge:
    6
    Erhaltene Danke:
    0
    Registriert seit:
    31.12.2011
    • Hier gegebene Hinweise haben scheinbar funktioniert (alle Einstellungen machbar), aber nicht zum Erfolg geführt.
    • logcat funktioniert bei mir anscheinend nicht, da das device /dev/log/main fehlt. Lege ich es an, bekomme ich immer "permission denied". Unklar.
    • alogcat noch nicht ausprobiert, vermute, dass es sich auf /dev/log/main verläßt?
    • "kmsgcat" in der rootshell zeigt aber nützliche ergebnisse und augenscheinlich auch logcat Meldungen:
    Code:
    # kmsgcat
    
    <4>[6596, Compiler] [26391.920526] do_exit: exit code=9
    <4>[6597, Binder Thread #] [26391.920579] do_exit: exit code=9
    <4>[7414, d.process.media] [26392.148781] do_exit: exit code=1024
    <4>[19, kswapd0] [26392.189579] select 4547 (ndroid.settings), adj 9, size 5721, to kill
    <4>[19, kswapd0] [26392.189614] select 5593 (d.apps.uploader), adj 11, size 2908, to kill
    <4>[19, kswapd0] [26392.189660] send sigkill to 5593 (d.apps.uploader), adj 11, size 2908
    <4>[5593, d.apps.uploader] [26392.190200] do_exit: exit code=9
    <4>[5598, Binder Thread #] [26392.190267] do_exit: exit code=9
    <4>[5594, HeapWorker] [26392.190849] do_exit: exit code=9
    <4>[5595, GC] [26392.190905] do_exit: exit code=9
    <4>[5596, Signal Catcher] [26392.193415] do_exit: exit code=9
    <4>[5597, Compiler] [26392.193487] do_exit: exit code=9
    <4>[5599, Binder Thread #] [26392.193614] do_exit: exit code=9
    <4>[5600, RefQueueWorker@] [26392.193662] do_exit: exit code=9
    <4>[5601, Thread-10] [26392.193709] do_exit: exit code=9
    <4>[7417, MediaSyncServic] [26392.650247] do_exit: exit code=23552
    <4>[7420, kmsgcat] [26394.124856] do_exit: exit code=65280
    <4>[7419, logcat] [26394.130654] do_exit: exit code=65280
    ^C
    
    
     
  9. KatyB, 04.01.2012 #9
    KatyB

    KatyB Ehrenmitglied

    Beiträge:
    7,858
    Erhaltene Danke:
    1,888
    Registriert seit:
    06.09.2011
    Phone:
    BQ Aquaris M5
    /dev/log/Main gibt's bei mir auch nicht. Trotzdem funktioniert Logcat bei mir. Führst du Logcat im Terminal Emulator aus oder wie? Wenn ja gib zuerst “su“ ein.

    Sent from my U8510 using Tapatalk
     
  10. Ryuk, 04.01.2012 #10
    Ryuk

    Ryuk Android-Lexikon

    Beiträge:
    1,010
    Erhaltene Danke:
    207
    Registriert seit:
    19.09.2011
    versuchs mal mit alogcat...
    wenn das nicht geht, dann hast du das logging im service-menü evtl. mit ner anderen rom bzw. nem anderen kernel aktiviert...was aber nicht geht...
    das logging kann glaube nur mit dem stock-kernel aktiviert werden...danach kannst du den oc-kernel wieder flashen...
     
  11. fuchsteufel, 05.01.2012 #11
    fuchsteufel

    fuchsteufel Erfahrener Benutzer

    Beiträge:
    171
    Erhaltene Danke:
    243
    Registriert seit:
    04.10.2011
    @unbunt: kmsgcat zeigt nur die Meldungen des Kernels, logcat ist was anderes. Probiere mal einen reboot und wenn das Huawei-Logo kommt auf der Konsole folgenden Befehl ausführen
    Code:
    adb wait-for-device; adb shell dmesg|grep logger
    dann sollte eine Meldung der Art
    Code:
    logger.c: log on/off=1
    kommen. Wenn da 0 steht ist das logging nicht aktiv und du musst noch mal ins Service-Menü.
     
  12. Unbunt, 08.01.2012 #12
    Unbunt

    Unbunt Neuer Benutzer

    Beiträge:
    6
    Erhaltene Danke:
    0
    Registriert seit:
    31.12.2011
    Absolut richtig. Hatte einen "custom Kernel" installiert. Das Service-Menü zeigt dann alles normal an, funktioniert aber anscheinend nicht richtig. Habe einmal den stock-kernel gebootet, bin ins Service-Menü, hab alles einmal angeklickt und siehe da: es läuft.

    Danke!
     
  13. Kashban, 23.01.2013 #13
    Kashban

    Kashban Android-Hilfe.de Mitglied

    Beiträge:
    140
    Erhaltene Danke:
    20
    Registriert seit:
    13.12.2010
    Auch wichtig: Das Logging beim Stock-ROM erst nach einem Reboot aktiv.
     

Diese Seite empfehlen

Besucher kamen mit folgenden Begriffen auf unsere Seite:

  1. kernel_log android