3

Netbeans で Java プロジェクトに取り組んでいます。29 回実行される for ループがあり、各反復が完了するまでに約 1 分かかります。問題は、ループの 29 回目の反復にあります。最初の 28 回の反復をスキップして、問題の反復に直接進む方法はありますか?

条件付きブレークポイントを配置できることはわかっていますが、デバッガーが反復をスキップすることはなく、特定の反復に達したときに通知されるだけです。

助けてください!そうしないと、デバッグに非常に時間がかかります!

4

3 に答える 3

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 を使用したことがありません。使用したとしても、最も単純で直接的な解決策は、上記のコードのようなことを行うことだと思います。

于 2012-07-20T06:54:00.493 に答える
1

ループ内に一時的なコード行を配置し、その上にブレークポイントを配置できます。

if (i=29) {
    // Put a breakpoint on this line (only hit if i=29)
}
于 2012-07-20T06:53:04.150 に答える
0

ループ条件を変更してください。

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

    ...

}
于 2012-07-20T06:48:51.320 に答える