Mam blok try / catch, który zgłasza wyjątek i chciałbym zobaczyć informacje o wyjątku w dzienniku urządzenia z systemem Android.
Czytałem dziennik urządzenia mobilnego za pomocą tego polecenia z mojego komputera deweloperskiego:
/home/dan/android-sdk-linux_x86/tools/adb shell logcat
Najpierw spróbowałem tego:
try {
// code buggy code
} catch (Exception e)
{
e.printStackTrace();
}
ale to nic nie drukuje w dzienniku. Szkoda, bo to by bardzo pomogło.
Najlepsze, co osiągnąłem, to:
try {
// code buggy code
} catch (Exception e)
{
Log.e("MYAPP", "exception: " + e.getMessage());
Log.e("MYAPP", "exception: " + e.toString());
}
Lepsze niż nic, ale niezbyt satysfakcjonujące.
Czy wiesz, jak wydrukować pełny ślad do dziennika?
Dzięki.
Ta funkcja pomocnicza również działa dobrze, ponieważ wyjątek jest również przedmiotem do rzucania .
źródło
Albo ... wiesz ... co powiedział EboMike.
źródło
źródło
e.printStackTrace () drukuje to do mnie. Nie sądzę, że poprawnie uruchamiasz logcat. Nie uruchamiaj go w powłoce, po prostu biegnij
/home/dan/android-sdk-linux_x86/tools/adb logcat
źródło
Standardowe wyjście i wyjście błędów są domyślnie kierowane do / dev / null, więc wszystko jest tracone. Jeśli chcesz zarejestrować to wyjście, musisz postępować zgodnie z instrukcjami „Wyświetlanie standardowego wyjścia i wyjścia błędów” pokazanych tutaj
źródło
źródło
W kontekście Androida musiałem rzutować wyjątek na ciąg:
źródło