2012-10-08 69 views
18

我有一個異常沒有得到很好的處理。在調試器中,我手頭有一個例外,但它不在我的代碼中,所以我不能在這一點上記錄它。所以我坐在調試器中,除了我的變量窗口中的異常,我想弄清楚如何從中獲取堆棧跟蹤,以便我可以找到發生異常的位置並更好地處理它。eclipse調試器內部的Stacktrace

想法?

回答

9

Debug透視圖中,顯示Expressions視圖。現在您可以添加e.printStackTrace()的表達式,其中e是您的變量。

或者,您可以在Expressions輸出窗口中將表達式更改爲getStackTrace()並展開StackTraceElement陣列。

2

我通常使用以下技巧。 轉到「表達式」視圖並添加表達式e.printStackTrace()。堆棧跟蹤將被打印到您的STDERR,即如果您的應用程序在Eclipse IDE內運行,則會將其打印到eclipse控制檯。

5

爲什麼不創建Exception Breakpoint?然後,在發生異常之前,您不必手動調試代碼,直到發生異常時調試器纔會停止,並且您可以在調試器中看到實時的堆棧跟蹤。