Intellij Idea Java 调试:如何创建一个行断点,只有在 NullpointerException 将抛出该行时才会触发断行?

Intellij Idea Java Debugging: How to create a line breakpoint that will only trigger a break if NullpointerException will be thrown at THIS line?

提问人:fall 提问时间:5/9/2023 更新时间:5/9/2023 访问量:55

问:

在 follow 方法中,如何在 at 创建一个行断点以仅捕获此行的 NullPointerException?a.toString()

public static void m1(String b){
    String a = null;
    b.toString();
    a.toString();
}

我需要实现:

  1. 如果 b 为 null,则它不会在 b.toString 处中断,因为只有下一行的异常才会触发
  2. 不要添加条件,因为可能有多个变量可能导致异常
  3. 将在 中断,但仅在即将发生 NullPointerException 时中断。如果没有 NullPointerException,则不会中断。a.toString

我试过了

enter image description here

enter image description here

或者两者加起来,但它根本没有破裂。

如何解决这个问题?

异常 调试 intellij-idea 断点

评论


答:

2赞 Egor 5/9/2023 #1

你的方法似乎很好,只需稍微调整一下: 行断点根本不应该挂起,它充当标记:enter image description here

然后,只有在调试器到达该行后,才会启用 NPE 断点。 不幸的是,在此之后无法禁用 NPE 断点(仅当它被命中时)

评论

0赞 fall 5/10/2023
我按照你的指示,它奏效了!谢谢。