java eclipse迭代器调试器问题

时间:2010-08-30 08:59:03

标签: java eclipse iterator debugging

[编辑:我忘了提到它是我正在调试的JUnit测试用例。这是一个问题吗?]

我在日食中遇到了一个非常奇怪的问题。 (我是eclipse中的新手,所以发布所有你想到的内容......)

当我在某一行时,它会停止在代码中继续前进。它仍然在同一条线,虽然我按F6 thounsand次。如果没有标记线路,则会再次标记。完全没有例外...

这一行看起来像:

while (someIterator.hasNext()) {...}

我根本不明白这一点。真奇怪。到底出了什么问题。 如果Iterator接下来它必须进入while循环,但如果不是,它必须跳过while循环。我只是不明白......

非常感谢您的回答。我现在处于深深的麻烦

面向Web开发人员的Eclipse Java EE IDE。 版本:Helios发布 构建ID:20100617-1415

3 个答案:

答案 0 :(得分:1)

将循环体放在不同的行上,这样您就可以看到问题所在。如果你把所有东西放在一行上,Eclipse可能不会太清楚地显示出什么。如果集合类是标准的,那么问题不太可能出现在Iterator上,除非你以某种方式设法将链表链接到一个非常不可能的循环中。

(扩展自下面的注释)同时确保调用next(),否则迭代器将永远不会前进。

BAD:

while (i.hasNext()) {
  //...
}

GOOD:

while (i.hasNext()) {
  Object o = i.next();
  //...
}

BEST(假设是仿制药)

for (Foo o : list) {
  //....
}

答案 1 :(得分:1)

也许你已经“跳过所有断点”了!

- > http://www.vogella.de/articles/EclipseDebugging/article.html#advanced_skipbreakpoints

答案 2 :(得分:0)

查看“变量”视图,查看每次F6点击后发生的情况。