2011-07-21 63 views
1

我需要知道哪些方法在代碼中被逐一調用。簡單的逐步調試無助於(需要太多時間)。我怎樣才能做到這一點?如果不更改代碼並將結果保存在文件中,這將非常棒。在java中獲取被調用方法的堆棧

+0

請檢查這一個:http://stackoverflow.com/questions/3256369/navigating-java-call-stack-in-eclipse/3256406#3256406 – dominicbri7

回答

1

在您的程序完成之前,您可以Thread.currentThread().getStackTrace();然後打印每個這些元素。堆棧跟蹤顯示您的線程執行順序。

1

你的意思是你想記錄方法調用發生在你的程序?如果是這樣,看看AspectJ - 有一個例子here它記錄特定的方法,但你可以很容易地適應它覆蓋所有的方法。

0

當你抓到一個異常,你可以嘗試使用printStackTrace()函數來轉儲出被調用的內容。

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

以調試模式運行你的代碼,你就可以設置斷點以暫停執行,由線進行線,檢查變量等。基本上所有的集成開發環境具有調試模式。