java のスタックトレースをプリントする方法

javaでは、ThreadクラスのgetStackTraceメソッドでスレッドのスタック情報をダンプできます。コード例は以下のとおりです。

public class ThreadStackTraceDemo {
    public static void main(String[] args) {
        Thread thread = new Thread(() -> {
            printStackTrace();
        });

        thread.start();
    }

    public static void printStackTrace() {
        Thread currentThread = Thread.currentThread();
        StackTraceElement[] stackTrace = currentThread.getStackTrace();
        for (StackTraceElement element : stackTrace) {
            System.out.println(element.toString());
        }
    }
}

上記の例では、新しいスレッドを作成し、そのスレッドでprintStackTraceメソッドを実行することで、スレッドのスタック情報を取得しています。次にループを使用して、スタックの各要素の情報を印刷しています。

注意: 現在スレッドのスタック情報を取得するには、Thread.currentThread()メソッドを使用して現在のスレッドのインスタンスを取得する必要があります。

bannerAds