如何在eclipse中使用条件断点进行foreach-loop?

时间:2012-05-29 08:09:12

标签: java eclipse debugging

我想知道如何在eclipse中使用条件断点。我有一个代码:

for(A a:aList){}

我已经在线上放了一个breakponit,我已经设置了条件

a.getXxx.equals("yyy")

但是eclipse给我一个错误:

Conditional breakpoint has compliation error(s).
Reason:
a cannot be resolved

请帮我找到原因。

1 个答案:

答案 0 :(得分:4)

你必须将断点放在循环中的第一行中,因为在循环的行上还不知道。

List<Object> myObjects = ...;
for (Object obj : myObjects ) {
    obj.doSth();
}

您可以将断点放在“obj.doSth();

的行上

这实际上是因为对于foreach循环,编译器除了调用Iterator.next()之外什么都不做;方法作为循环中的第一个语句(您不会注意到编译器会自动执行此操作)。 看看java规范: http://docs.oracle.com/javase/specs/jls/se5.0/html/statements.html#14.14.2