Eu tenho um bloco try / catch que lança uma exceção e gostaria de ver informações sobre a exceção no log do dispositivo Android.
Eu li o log do dispositivo móvel com este comando do meu computador de desenvolvimento:
/home/dan/android-sdk-linux_x86/tools/adb shell logcat
Eu tentei isso primeiro:
try {
// code buggy code
} catch (Exception e)
{
e.printStackTrace();
}
mas isso não imprime nada no log. É uma pena porque teria ajudado muito.
O melhor que consegui é:
try {
// code buggy code
} catch (Exception e)
{
Log.e("MYAPP", "exception: " + e.getMessage());
Log.e("MYAPP", "exception: " + e.toString());
}
Melhor do que nada, mas não muito satisfatório.
Você sabe como imprimir o backtrace completo no log?
Obrigado.
Esta função auxiliar também funciona bem, uma vez que Exception também é um Throwable .
fonte
Ou ... você sabe ... o que EboMike disse.
fonte
fonte
e.printStackTrace () imprime para mim. Não acho que você esteja executando o logcat corretamente. Não execute em um shell, apenas execute
/home/dan/android-sdk-linux_x86/tools/adb logcat
fonte
A saída padrão e a saída de erro são direcionadas para / dev / null por padrão, portanto, tudo é perdido. Se você deseja registrar esta saída, você precisa seguir as instruções "Visualizando stdout e stderr" mostradas aqui
fonte
fonte
No contexto do Android, tive que lançar a exceção para uma string:
fonte