Android Debug Meldungen
lima-city → Forum → Programmiersprachen → Java
absturz
ausgabe
code
entwicklung
fehler
fehlermeldung
fenster
filter
letzte hinweis
log
meldung
message
normale ausgabe
perspektive
programm
programmteil
relevanten daten
rot log
schwarz log
zweck
-
Hallo liebe Mitentwickler,
ich habe gerade begonnen meinem Androiden ein paar Befehle zu lehren, allerdings finde ich die Möglichkeiten für eine ausgiebige Fehleranalyse sehr begrenzt. In den meisten Fällen wird mir lediglich berichtet, dass irgendetwas nicht stimmte und der Prozess beendet werden musste. Warum, wo oder wer kann mir nicht gesagt werden.
Gibt es hier eine Möglichkeit, die Fehlermeldungen etwas umfangreicher einzusehen, außer jetzt eigene Breakpoints und Loggingmeldungen auszugeben?
Beste Grüße! -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Ich glaube du verwendest das Android SDK oder?
Ich programmiere auch schon eine Weile damit und habe auch oft diesen Fehler sehen müssen. Soweit ich weiss kann man keine detailierteren Meldungen bekommen, da dieses Fenster gleichzusetzten ist mit einem Bluescreen von Windows. Das Programm stürzt eben komplett ab und kann daher auch keine Meldungen mehr laden.
Im Menü findest du das App DevTools. Dort annst du dir sämtliche Fehlermeldungen anzeigen / simulieren lassen. Einfach die Option Bad Behavior auswählen und anschließend das Szenario.
Hier kannst du auch Einstellungen vornehmen und sogar zusätzliche Apps instalieren (zum Debuggen). Ich nutze den Emulator da ist dieses App (DevTools) schon drauf.
Gruß S.Brosch -
Wenn du das ADT drauf hast, dann google mal nach DDMS. Wenn du eclipse zur Entwicklung verwendest, dann gibt es bei den Perspectives(schau rechts oben im Fenster) eine DDMS View, in der du dir angucken kannst, warum deine App nicht läuft. Dort kannst du auch die Meldungen anschauen, die du evntl. selbst mit der Log klasse ausgibst.
EDIT: Benutzt du eigentlich den Emulator oder dein Handy direkt(wenn du eins hast)?
Beitrag zuletzt geändert: 28.4.2011 11:39:18 von benutzernaemelchen -
Je nach Lust und Laune benutze ich mal den Emulator und mal das Handy. Der Tipp mit dem DDMS sieht sehr vielversprechend aus und wird mir bei einiger Einarbeitung bestimmt hilfreich sein. Ich habe aber momentan keine Idee, wo die relevanten Daten auffindbar sind...
-
Hallo, ich arbeite sehr viel mit Logs und Exceptions, um Fehler zu finden. Im LogCat werden alle Logs aufgelistet, was sehr unübersichtlich ist. Dafür kann man sich Filter definieren um nur die Logs aufzulisten, die einen auch interessieren. Ein Filter kann zum Beispiel der Name der Klasse sein.
Ein Log erstellst du so:
Für normale Ausgabe (Schwarz): Log.v("Filtername", "Deine Message");
Für Fehler zb. im Catch Block (Rot): Log.e("Filtername", "Deine Message")
Das ist wirklich praktisch, so kann man genau sehen, welche Programmteile erfolgreich ausgeführt wurden und wo es nicht weiterging, bzw. Fehler ausgelöst wurden. Mit Exceptions siehst du sogar ganz genau welche Fehler es sind.
Einfach den Programmteil mit try catch umschließen
private void meineMethode(){ try { // Dein Programmteil catch (Exception e) { Log.e("Fehlermeldung", "Fehler in der Methode sowieso: "+e.toString() ); } }
Die meisten Fehler bei Android sind NullPointerExceptions :-)
Wenn die abgefangen werden, läuft das Programm ohne Problemme, bzw. es kommt nicht zum Absturz.
Den LogCat findest du unter Window/ShowView/other... Dann im Ordner Android den LogCat auswählen.
Dieser ist aber auch in der DDMS Perspektive mit dabei. Ist aber praktischer nicht immer die Perspektive wechseln zu müssen um den Log einzusehen. Finde den sogar nützlicher wie die Ausgabe Console.
Beitrag zuletzt geändert: 29.4.2011 10:00:23 von pixilab -
Der Filter scheint mir für meine Zwecke hervorragend geeignet. Gibt es hier nur die Möglichkeit über eigene Logeinträge Ausgaben zu generieren oder ist es auch vom Betriebssystem aus möglich Statusmeldungen wie eine Nullpointer-Exception zu erschleichen?
Edit: Der letzte Hinweis zum einbindbaren LogCat ist besonders wertvoll^^ Vielen Dank dafür! Meinen Filter konnte ich jetzt einbauen und muss sagen, dass er meinen Erwartungen mehr als entspricht. Trotzdem wäre es angenehm, wenn man wie in der "normalen" Java Entwicklung zu der entsprechenden Zeile geschickt wird, mit einer genauen Bezeichnung des Fehlers. Ich hoffe das Ihr wisst was gemeint ist ^^
Erneuter Edit: Ich habe nun innerhalb der Log-Meldungen die Exception gefunden. Sind die für mich relevanten Ereignisse alle durch AndroidRuntime getagged oder gibt es noch andere Mögliche Quellen?
Beitrag zuletzt geändert: 29.4.2011 10:34:04 von pantherstyle -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage