2012-02-12 93 views
16

有時,當我檢查一個代碼,我沒有寫,我啓動Eclipse在調試模式下,用數字來理解的程序。例如,如果它們是n從數據庫檢索到的項目,它可以是有趣的,知道有一個服務是ň加工項目等調試和計數的斷點

當使用循環,事情變得更加複雜:如果我們在「while」循環中,沒有定義執行次數,如果有替代方案,執行流程可能會發生很大的變化。

爲此,我有時會設置一個斷點在代碼的一部分並計算多少次,我們達到目標。

當然,這不是很方便,我不知道是否有一種方法來計算斷點命中數。我知道Eclipse可以在一定數量的命中後掛起執行,但我只希望Eclipse在正常的執行流程中對它們進行計數。

我很樂意聽聽你的意見。

謝謝!

回答

18

您可以添加一個條件到您的斷點。最簡單的一個可能是這個樣子:

System.err.println("Passing checkpoint"); 
return false; 

您也可以通過調用自己的靜態類擴展它:

org.foo.StaticCounter.COUNTER++; 
System.err.println("Passing checkpoint " + org.foo.StaticCounter.COUNTER); 
return false; 
+0

聰明。我想我會始終在我的工具包中保留一個StaticCounter類。可以有助於調試非對象程序代碼:) 謝謝! – 2012-02-18 10:06:14

1

作爲替代計數斷點,你可以使用一個分析工具,例如作爲一個here

+0

我認爲你的答案是正確的,但我計算斷點擊數,我更關心理解處理而不是分析性能。我通過評估我們應該在一段代碼中執行多少次來確認一些直覺。但是,我將它用於複雜的非對象過程代碼。無論如何感謝您的回答:) – 2012-02-18 10:21:54