调试循环

时间:2010-11-01 22:40:11

标签: eclipse debugging loops

对于一些当前的项目,我正在使用几个非常大的数据结构(在10K元素的区域内)。为了能够在列表中访问这些数据,我需要使用循环和迭代器,当问题区域位于列表的后半部分时,这可能会很麻烦。

所以我发现自己在Eclipse的调试器中用F8按钮花了很多时间来循环遍历迭代循环的每个元素。当必须多次单步执行该特定部分以了解代码为何以特定方式作出反应时,情况会变得更糟。

如果一个人知道在遇到问题区域之前要执行多少次循环,有没有办法设置一个循环断点来执行到那个点然后暂停?

3 个答案:

答案 0 :(得分:15)

答案 1 :(得分:3)

我相信有更好的方法可以做到这一点,但你可以在循环中创建一个简单的代码块,只在某个迭代中执行,并将断点放在其中。

if (loopIndex == 1000) {
  int number = 14;            //Break here
}

答案 2 :(得分:0)

以此为例:

for(int i=0;i<10000;i++){
    System.out.println(i);
}

在打印行上设置断点,然后右键单击它并选择Breakpoint Properties...。从这里您可以设置触发断点的条件。这类似于if语句中的条件。如果您想在i等于6000时触发断点,请检查Conditional框并尝试:enter image description here