Netbeans で Java プロジェクトに取り組んでいます。29 回実行される for ループがあり、各反復が完了するまでに約 1 分かかります。問題は、ループの 29 回目の反復にあります。最初の 28 回の反復をスキップして、問題の反復に直接進む方法はありますか?
条件付きブレークポイントを配置できることはわかっていますが、デバッガーが反復をスキップすることはなく、特定の反復に達したときに通知されるだけです。
助けてください!そうしないと、デバッグに非常に時間がかかります!
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 を使用したことがありません。使用したとしても、最も単純で直接的な解決策は、上記のコードのようなことを行うことだと思います。
ループ内に一時的なコード行を配置し、その上にブレークポイントを配置できます。
if (i=29) {
// Put a breakpoint on this line (only hit if i=29)
}
ループ条件を変更してください。
for (int index = 27; index < 28; index++) {
...
}