Ich habe einen Try / Catch-Block, der eine Ausnahme auslöst, und ich möchte Informationen über die Ausnahme im Android-Geräteprotokoll sehen.
Ich habe das Protokoll des Mobilgeräts mit diesem Befehl von meinem Entwicklungscomputer gelesen:
/home/dan/android-sdk-linux_x86/tools/adb shell logcat
Ich habe es zuerst versucht:
try {
// code buggy code
} catch (Exception e)
{
e.printStackTrace();
}
aber das druckt nichts in das Protokoll. Das ist schade, denn es hätte sehr geholfen.
Das Beste, was ich erreicht habe, ist:
try {
// code buggy code
} catch (Exception e)
{
Log.e("MYAPP", "exception: " + e.getMessage());
Log.e("MYAPP", "exception: " + e.toString());
}
Besser als nichts, aber nicht sehr befriedigend.
Wissen Sie, wie Sie die vollständige Rückverfolgung in das Protokoll drucken können?
Vielen Dank.
Diese Hilfsfunktion funktioniert auch gut, da Exception auch ein Throwable ist .
quelle
Oder ... weißt du ... was EboMike gesagt hat.
quelle
quelle
e.printStackTrace () druckt es mir. Ich glaube nicht, dass Sie den Logcat richtig ausführen. Führen Sie es nicht in einer Shell aus, sondern führen Sie es einfach aus
/home/dan/android-sdk-linux_x86/tools/adb logcat
quelle
Die Standardausgabe und die Fehlerausgabe werden standardmäßig an / dev / null geleitet, sodass alles verloren geht. Wenn Sie diese Ausgabe protokollieren möchten, müssen Sie die hier gezeigten Anweisungen "Anzeigen von stdout und stderr" befolgen
quelle
quelle
Im Kontext von Android musste ich die Ausnahme in einen String umwandeln:
quelle