[编辑:我忘了提到它是我正在调试的JUnit测试用例。这是一个问题吗?]
我在日食中遇到了一个非常奇怪的问题。 (我是eclipse中的新手,所以发布所有你想到的内容......)当我在某一行时,它会停止在代码中继续前进。它仍然在同一条线,虽然我按F6 thounsand次。如果没有标记线路,则会再次标记。完全没有例外...
这一行看起来像:
while (someIterator.hasNext()) {...}
我根本不明白这一点。真奇怪。到底出了什么问题。 如果Iterator接下来它必须进入while循环,但如果不是,它必须跳过while循环。我只是不明白......
面向Web开发人员的Eclipse Java EE IDE。 版本:Helios发布 构建ID:20100617-1415
答案 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点击后发生的情况。