能否在IntelliJ同一行设置日志断点与条件断点各一个?
在IntelliJ中实现同一行的双断点需求:记录消息+条件暂停
当然可以实现!IntelliJ的断点系统支持这种灵活的配置,甚至不用真的添加两个独立断点——通过单个断点的多动作设置就能搞定,操作起来很顺手:
- 第一步:在目标代码行的行号旁点击,添加一个普通断点(出现红色圆点)。
- 第二步:右键这个红色圆点,打开断点配置面板(或者用快捷键
Ctrl+Shift+F8打开全局断点列表,找到对应的断点)。 - 第三步:先取消面板顶部的「Suspend」(全局暂停)勾选,然后点击「Add action」添加第一个动作:
- 选择「Log message」,输入你要记录的内容,比如
[日志] 执行到行号:{lineNumber},当前用户ID:{user.id},还能勾选「Evaluate and log」来动态打印变量值。
- 选择「Log message」,输入你要记录的内容,比如
- 第四步:再次点击「Add action」添加第二个动作:
- 选择「Condition」,输入你的触发条件(比如
user.getRole().equals("ADMIN")),然后在这个动作的设置里,勾选「Suspend」(注意是这个动作专属的暂停,不是全局的),还可以选择暂停所有线程还是当前线程。
- 选择「Condition」,输入你的触发条件(比如
- 第五步:确认配置后运行程序,此时每次走到这一行都会自动记录消息,只有当条件满足时才会暂停程序。
如果你偏爱用两个独立断点的方式,也完全可行:右键已有的红点,选择「Add breakpoint」就能在同一行新增一个断点,然后分别配置两个断点:一个设置为「只记录不暂停」,另一个设置为「满足条件时暂停」。不过单断点多动作的方式更简洁,也更容易维护。
内容的提问来源于stack exchange,提问作者user1779715
相关产品推荐
相关产品推荐

