我正在Netbeans的一个java项目上工作。我有一个for循环,运行29次,每次迭代大约需要1分钟才能完成。问题出在循环的第29次迭代中。有没有什么方法可以跳过前28次迭代并直接转到相关问题?
我知道我可以放置一个条件断点,但是这会让调试器跳过迭代,它只会在达到特定迭代时通知我。
请帮忙!否则,这需要花费大量时间进行调试!
答案 0 :(得分:3)
您可以使用Java Platform Debugger Architecture之类的内容。这可能有所帮助。另一方面,你可以这样做:
for (int i = 0; i < ...; i++)
{
if (i == 28)
{
System.out.println("Line Found"); //put breakpoint here
}
//remainder of the code.
}
这应该允许你在第29次执行循环时触发断点,然后你可以使用调试器提供的步骤函数来检查第29次迭代的代码。
我从未使用过JPDA,即使我这样做,我认为最简单直接的解决方案就是做上面的代码。
答案 1 :(得分:1)
您可以在循环中放置一行临时代码,并在其上放置一个断点:
if (i=29) {
// Put a breakpoint on this line (only hit if i=29)
}
答案 2 :(得分:0)
更改循环条件。
for (int index = 27; index < 28; index++) {
...
}