JVMを介してスタックトレースをダンプする方法

Java仮想マシン(JVM)は、スタックトレース情報を2つの方法で出力します。ThrowableクラスのprintStackTraceメソッドと、ThreadクラスのgetStackTraceメソッドを使用します。

  1. ThrowableクラスでprintStackTrace()メソッドを使う
try {
    // 代码块
} catch (Throwable throwable) {
    throwable.printStackTrace();
}

スタック情報を直接コンソールに出力する形式です。

  1. ThreadクラスのgetStackTrace()メソッドを使用します。
StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace();
for (StackTraceElement stackTraceElement : stackTraceElements) {
    System.out.println(stackTraceElement.toString());
}

この方法では、スタック情報が再帰的にプリントアウトされます。

これら2つのメソッドではコンソールへのスタックトレース出力だけに留まり、ファイルに保存したり他の処理をしたい場合は、関連したIO操作を使う必要があります。

bannerAds