调试java for循环:跳转到特定的迭代

时间:2012-07-20 06:44:17

标签: java debugging netbeans for-loop

我正在Netbeans的一个java项目上工作。我有一个for循环,运行29次,每次迭代大约需要1分钟才能完成。问题出在循环的第29次迭代中。有没有什么方法可以跳过前28次迭代并直接转到相关问题?

我知道我可以放置一个条件断点,但是这会让调试器跳过迭代,它只会在达到特定迭代时通知我。

请帮忙!否则,这需要花费大量时间进行调试!

3 个答案:

答案 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++) {

    ...

}