본문 바로가기

Programming/JAVA

실행 시 Stack Trace 얻기

Throwable클래스의 printStackTrace() 메소드를 이용하여 얻을 수도 있으며, Thread의 dumpStack() 메소드를 이용 할 수도 있습니다.


public class GetStackTrace {

        public static void main(String[] args) {
               
                //현재의 호출 스택을 System.out에 출력 합니다.
                //printStackTrace 메소드는 3개의 오버로딩 함수가 있으니 확인 바랍니다.
                Throwable t = new Throwable();
                t.printStackTrace(System.out);
               
                System.out.println("--------------------------------------");
               
                //이번엔 Thread의 dumpStack()을 이용합니다.
                Thread.currentThread().dumpStack();
               
        }
}

[결과]
D:\Tomcat-Project\JavaApp>java GetStackTrace
java.lang.Throwable
        at GetStackTrace.main(GetStackTrace.java:8)
--------------------------------------
java.lang.Exception: Stack trace
        at java.lang.Thread.dumpStack(Unknown Source)
        at GetStackTrace.main(GetStackTrace.java:14)