假设我有以下代码。在调试时,我希望Eclipse在完成100万次迭代后停止。这该怎么做?我不能手动做100万次。
for(int i = 0; i < 10000000; i++) {
//some code
}
答案 0 :(得分:12)
你可以把条件断点放在eclipse中:
放入条件代码
i == 1000000
答案 1 :(得分:4)
在这种情况下,请执行以下操作:
for(int i = 0; i < 10000000; i++)
{
if(i==1000000){
// do nothing ....
// this is just a dummy place to make eclipse stop after million iterations
// just put a break point here and run the code until it reaches this breakpoint
// remove this if condition from your code after you have debugged your problem
}
//your code
}
答案 2 :(得分:1)
我知道我已经死了,但是我正在回答@Anarelle在the currently accepted answer关于在没有变量可用时停止的问题。这也回答了原始问题。在Eclipse的条件断点窗口中(在Debug Perspective中),您可以单击命中计数:旁边的复选框,并简单地给出断点应该在其暂停执行之前“触摸”的次数。请注意,这不仅可以在循环之外工作(例如,在我尝试此操作3次之后暂停调试),但它也需要考虑外部循环。例如,在以下代码中,如果我的命中数为20,则i
将在命中断点时为6和j
3:
for (int i = 0; i < 100; i++) {
System.out.println(i);
for (int j = 2; j < 5; j++) {
System.out.println(j);
}
}
一旦断点被击中,它将被禁用,直到用户重新启用。换句话说,如果每次重新启用,此功能也可用于检查特定断点的每20次检查。