9

假设我有以下代码。在调试时,我希望 Eclipse 在完成 100 万次迭代后停止。这个怎么做?我不能手动做 100 万次。

for(int i = 0; i < 10000000; i++) {
    //some code
}
4

3 回答 3

15

您可以在eclipse中放置条件断点:

  1. 放一个断点
  2. 右键单击->属性
  3. 打开“条件”复选框
  4. 放置条件代码

    我 == 1000000

于 2013-10-07T03:44:07.240 回答
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
}
于 2013-10-07T03:39:17.123 回答
2

我知道我正在坏死,但我正在回答@Anarelle 关于当前接受的关于在没有可用变量时停止的答案的问题。这也回答了最初的问题。在 Eclipse 的条件断点窗口中(在 Debug Perspective 中),您可以单击Hit count:旁边的复选框,然后简单地给出断点在暂停执行之前应该“触摸”的次数。请注意,这不仅在循环之外起作用(例如,仅在我尝试此操作 3 次后才暂停调试),而且还考虑了外部循环。例如,在下面的代码中,如果我的命中计数是 20,则断点命中时i将是 6 和3:j

for (int i = 0; i < 100; i++) {
    System.out.println(i);
    for (int j = 2; j < 5; j++) {
        System.out.println(j);
    }
}

一旦断点被​​命中,它将被禁用,直到用户重新启用。换句话说,如果每次都重新启用,此功能还可用于每 20 次检查特定断点是否被命中。

于 2016-06-02T14:20:17.167 回答