2012-07-20 60 views
2

我正在研究Netbeans中的java項目。我有一個for循環運行29次,每次迭代大約需要1分鐘才能完成。問題出現在循環的第29次迭代中。有沒有什麼方法可以跳過前28次迭代並直接轉到相關問題?調試java for循環:跳轉到特定迭代

我知道我可以放置一個條件斷點,但是dosent會讓調試器跳過迭代,它只是在達到特定迭代時通知我。

請幫忙!否則,這將花費很多時間來調試!

回答

2

您可以使用類似的Java Platform Debugger Architecture。這可能有幫助。在另一方面,你可以不喜歡這樣:

​​

這應該允許您觸發環路29日執行的斷點,然後你可以使用調試器提供的階梯函數走了過來代碼爲第29次迭代。

我從來沒有使用JPDA,即使我這樣做了,我認爲最簡單直接的解決方案是做類似上面的代碼。

+0

這是一個好主意。謝謝! – Sid 2012-07-20 06:58:19

0

更改循環條件。

for (int index = 27; index < 28; index++) { 

    ... 

} 
+0

我實際上迭代循環如下:for(String imageToDownload:imageURLList) 但你說得對,我可以得到列表的長度然後調試它。只是想知道在調試器中是否有任何功能可以在不更改代碼的情況下實現這一功能。 – Sid 2012-07-20 06:50:46

+0

而且?改變循環條件?完成後,將其改回。你只對 – MadProgrammer 2012-07-20 06:52:47

+0

耶第二次迭代感興趣。我想這可能是一種方法來做到這一點。謝謝! – Sid 2012-07-20 06:54:49

1

你可以把代碼的臨時行的循環中,將斷點上:

if (i=29) { 
    // Put a breakpoint on this line (only hit if i=29) 
}