2008-10-13 59 views
15

有沒有辦法告訴調試器在返回之前停止,無論哪種語句從方法退出,是返回,異常還是掉出底部? Java編輯器向我展示了我的方法可以從退出的所有地方 - 當您單擊方法聲明的返回類型(啓用了標記事件)時,它將突出顯示它們。eclipse beakpoint:在離開Java方法之前停止

[eclipse 3.4]

回答

31

在方法簽名的行上放置一個斷點。那就是你寫的地方

public void myMethod() { 

然後右擊斷點並選擇「斷點屬性」。在彈出窗口底部有兩個複選框:「方法輸入」,「方法退出」。檢查後者。

0

好問題。關閉我的頭頂,我應該這樣做:

public void method(Object stuff) { 
    try { 
     /* normal code */ 
    } finally { 
     int x = 0; 
    } 
} 

您可以設置在x = 0線的斷點,它總是會被執行不管你回來。即使拋出異常,它也會運行。

捕捉到這是範圍。除非你在try塊之外定義變量,否則你將無法看到他們的值到達finally塊,因爲它們已經退出了範圍。

不得不放置5個斷點(每個返回語句一個,無論什麼)可能效果最好。

我希望有一個更好的方法,我很想知道它。

+0

我喜歡這個答案。即使需要更改代碼,它仍然是獨立的調試器! – 2008-10-13 17:16:01

3

您可以設置方法斷點。

雙擊方法聲明旁邊的空白處。出現帶箭頭裝飾的斷點。右鍵單擊以檢查屬性,可以爲「方法輸入」和/或「方法退出」設置「掛起:」。

你可以在Eclipse Cookbook中閱讀更多關於它們的信息。