【Java】Debug断点调试常用技巧 (4)

SHIFT+鼠标左键:

image


image

debug:

image

方法断点 | 接口跳转实现类

方法断点 = 方法起始行断点 + 方法结尾行断点

// 方法断点 | 接口跳转实现类 public static void method() { System.out.println("this is from method"); IService iservice = new IServiceImpl(); iservice.execute(); }

在方法上打断点:

image

debug:
第一个断点停留在方法体内第一行代码:

image

第二个断点停留在方法体内返回的最后一行代码:

image

在接口方法上打断点:

image

真正运行的是接口方法的实现类:

image

如果我们有很多的实现类,我们具体不知道是哪一个,我们只需要在接口方法上打一个断点,它就会自动地跳到接口具体的实现类方法上。

异常断点 | 全局捕获 // 异常断点 | 全局捕获 public static void exception() { Object o = null; o.toString(); System.out.println("this line will never be print!"); }

异常断点会停顿在报出异常的具体代码行。

点击View Breakpoints

image

在异常断点处添加新的异常断点

image


image


image


image

接下来,只要你的程序遇到空指针异常,它就会停顿到发出空指针异常的那一行代码那里。

没有显式打断点:

image

debug:

image

这个异常断点对于我们异常调试很方便。

字段断点 | 读写监控 // 字段断点 | 读写监控 public static void field() { Person p = new Person("field", 10); p.setAge(12); System.out.println(p); }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zysjff.html