除錯獲取方法呼叫堆疊資訊
阿新 • • 發佈:2019-02-06
有些時候或者為了除錯程式或者為了列印資訊,我們需要在程式執行期間獲取程式排程堆疊的資訊,java在執行期間可以通過throwable類來獲取方法呼叫堆疊資訊。
例如哪個方法呼叫的當前方法,當前執行類的類名,檔名,程式碼行等等。
public void test() { Throwable ex = new Throwable(); StackTraceElement[] stackElements = ex.getStackTrace(); if (stackElements != null) { for (int i = 0; i < stackElements.length; i++) { System.out.println(stackElements[i].getClassName() + "." + stackElements[i].getMethodName() + "(" + stackElements[i].getFileName() + ":" + stackElements[i].getLineNumber() + ")"); } } }
也可以在除錯時,執行到目標方法時在監視視窗 new Throwable().getStackTrace() ,也能獲取到當前方法呼叫的堆疊資訊。