Debugging 在Intellij调试器断点中使用多个条件
我想向IntelliJ中的断点添加多个条件。 比如:Debugging 在Intellij调试器断点中使用多个条件,debugging,intellij-idea,conditional-breakpoint,Debugging,Intellij Idea,Conditional Breakpoint,我想向IntelliJ中的断点添加多个条件。 比如: stringA.equals("test") && objectA.equals(objectB); 如何执行此操作?IntelliJ IDEA断点条件可以是: 选择此选项可指定命中断点的条件。一个条件是 包含返回true或false的方法的Java布尔表达式, 例如,str1.equals(str2) 此表达式必须在设置断点的行有效, 并在每次命中断点时对其进行计算。如果评估 结果为true时,将执行所选操作 可以输入多行
stringA.equals("test") && objectA.equals(objectB);
如何执行此操作?IntelliJ IDEA断点条件可以是: 选择此选项可指定命中断点的条件。一个条件是 包含返回true或false的方法的Java布尔表达式, 例如,str1.equals(str2) 此表达式必须在设置断点的行有效, 并在每次命中断点时对其进行计算。如果评估 结果为true时,将执行所选操作 可以输入多行表达式,例如:
if (myvar == expectedVariable) {
System.out.println(myvar);
anotherVariable = true;
}
return true;
stringA.equals(“test”)和&objectA.equals(objectB)
似乎是一个返回true
或false
的有效表达式,因此它应该可以立即运行
工作证明:
以下条件声明也适用:
return stringA.equals("test") && objectA.equals(objectB);
请注意,在表示需要分号的条件之后有一个红色下划线。如果添加分号,条件将变为无效,您还必须添加return
语句以使其再次有效。这是一个表面问题,您可以使用不带分号的条件并忽略错误,也可以添加分号并return
使其成为有效语句:
因此,在桩前添加一个返回桩解决了问题
否,Intellij显示了一个错误,消息不是statment。@ChristianSchulze请查看更新的答案,显示其工作原理如Intellij IDEA 2018.3.2所述。好的,第一个不工作,但第二个添加了返回的工作原理。可能是因为我使用的是Intellice,而不是终极编辑。@ChristianSchulze不,这是因为添加了分号,请参阅我答案中关于与之相关的已知问题的注释。您可以添加分号并返回,也可以不添加分号。您最初的问题没有提到您添加了分号。请看我答案中的注释。