作者:手机用户2502901613 | 来源:互联网 | 2023-02-03 12:09
我已经来回试了很长时间,但不知何故它不起作用.
我也尝试过分号和不分号.我也尝试在断点之前运行这一行,以确保条件真正起作用,
logger.error("I am Here! " + "#PDU Elements: " + pdu.getVariables().size());
它按预期返回13.
有谁知道如何让这个工作?
编辑
根据要求,我将在断点处添加运行的代码行,
logger.error("I am Here! " + "#PDU Elements: " + pdu.getVariables().size());
Trap trap = Trap.createTrapFrom(variableMap, instanceIdentificationNumber); // Breakpoint in margin on this line.
编辑2
问题似乎与IDEA随机错过一些断点有关.我也尝试了一些无条件断点(应该总是停止),这些断点只在特定时间停止.
1> holi-java..:
CTRL+SHIFT+F8
在断点处快速按两次将打开一个对话框,而不是一个弹出对话框来配置条件。然后按F1
打开帮助对话框。
正如intellij帮助文档所述,断点条件是:
选中此复选框,然后在文本字段中指定击中断点的条件。条件是Java布尔表达式(包括返回true或false的方法),例如str1.equals(str2)。此表达式应该在设置断点的行上有效,并且每次到达断点时都会对其求值。如果评估结果为真,则执行用户选择的操作。如果结果为假,则断点不会产生任何影响。如果调试器无法对表达式求值,它将显示条件求值错误消息。您可以选择是要在此断点处停止还是忽略它。在给定的字段/方法/例外的上下文中计算字段/方法/例外断点的条件。在条件字段的右侧,
注意
断点条件由Java代码组成,因此条件中发生的任何错误都将在断点处停止。并且它不支持任何lambda表达式。当您使用多语句计算条件时,需要使用return
语句返回结果。
和病情常抛出NullPointerException
停止断点。您需要检查null
断点条件:
//change the condition
pdu.getVariables().size() == 13
^-----throws a NullPointerException if variables is null
//to the condition using ternary operator for checking null
pdu.getVariables()==null ? false : pdu.getVariables().size()==13
例子
例如:
private String[] run(Class> mainClass
, Optional launcherClass, String[] args) {
...
^-----I mark a breakpoint here
}
我的情况是,请记住检查条件复选框:
launcherClass != null
我的断点条件截图