1. ホーム
  2. android

[解決済み] Android - ログに完全な例外のバックトレースを出力する

2022-12-25 07:31:40

質問

例外を発生させるtry/catchブロックがありますが、Androidデバイスのログに例外に関する情報を表示したいです。

開発用パソコンから、このコマンドでモバイル端末のログを読みました。

/home/dan/android-sdk-linux_x86/tools/adb shell logcat

まずこれを試してみました。

try {
    // code buggy code
} catch (Exception e)
{
    e.printStackTrace();
}

を追加しましたが、これではログに何も出力されません。とても助かるのに、残念です。

私が達成した最高のものは

try {
    // code buggy code
} catch (Exception e)
{
    Log.e("MYAPP", "exception: " + e.getMessage());             
    Log.e("MYAPP", "exception: " + e.toString());
}

ないよりはましだが、あまり満足はできない。

ログに完全なバックトレースを出力する方法をご存知ですか?

ありがとうございます。

どのように解決するのですか?

try {
    // code that might throw an exception
} catch (Exception e) {
    Log.e("MYAPP", "exception", e);
}

より詳細な情報を明示する

(この件に関しては一番古い質問なので)

3つの引数を持つAndroidのlogメソッドは、スタックトレースを表示します。 Exception のスタックトレースを表示します。 たとえば

Log.d(String tag, String msg, Throwable tr)

ここで tr はExceptionです。

によると このコメント これらのLogメソッドは getStackTraceString() メソッドを使用します...舞台裏で"。