debugging - 在 Intellij 调试器断点中使用多个条件
问题描述
我想向 IntelliJ 中的断点添加多个条件。就像是:
stringA.equals("test") && objectA.equals(objectB);
我怎样才能做到这一点?
解决方案
IntelliJ IDEA 断点条件可以是任何布尔表达式:
选择以指定命中断点的条件。条件是一个 Java 布尔表达式,包括返回 true 或 false 的方法,例如 str1.equals(str2)。
此表达式必须在设置断点的行处有效,并且每次命中断点时都会对其进行评估。如果评估结果为真,则执行选定的操作。
您可以输入多行表达式,例如:
if (myvar == expectedVariable) { System.out.println(myvar); anotherVariable = true; } return true;
stringA.equals("test") && objectA.equals(objectB)
似乎是返回true
or的有效表达式false
,因此它应该开箱即用。
工作证明:
以下条件语句也将起作用:
return stringA.equals("test") && objectA.equals(objectB);
请注意,存在一个已知问题,该问题将在表示需要分号的条件后显示红色下划线。如果添加分号,条件将变为无效,您还必须添加一条return
语句以使其再次有效。这是一个表面问题,您可以使用不带分号的条件并忽略错误,也可以添加分号并return
使其成为有效语句:
推荐阅读
- java - 将用户输入读入数组列表?
- python - Dialogflow 天气 webhook 连接错误
- amazon-dynamodb - Dynamodb 扫描数组内的对象属性
- javascript - 如何比较两个 JSON 对象,不包括在单独数组中指定的字段?(邮递员脚本)
- javascript - 如何允许使用 cookie 注册多个帐户?提供的来源
- c# - 发出 Json 对象和 C#
- reinforcement-learning - 在强化学习中使用函数逼近时,如何选择动作?
- node.js - 如何使用 node.js 更改同一文件夹中的所有文件和文件夹权限
- firebase - Android Firebase-Analytics:无法将 null 设置为 userid 和 userproperty
- labview - 如何在 Labview 中对数字求和时增加常数?