SHIFT+鼠标左键:
debug:
方法断点 = 方法起始行断点 + 方法结尾行断点
// 方法断点 | 接口跳转实现类 public static void method() { System.out.println("this is from method"); IService iservice = new IServiceImpl(); iservice.execute(); }在方法上打断点:
debug:
第一个断点停留在方法体内第一行代码:
第二个断点停留在方法体内返回的最后一行代码:
在接口方法上打断点:
真正运行的是接口方法的实现类:
如果我们有很多的实现类,我们具体不知道是哪一个,我们只需要在接口方法上打一个断点,它就会自动地跳到接口具体的实现类方法上。
异常断点 | 全局捕获 // 异常断点 | 全局捕获 public static void exception() { Object o = null; o.toString(); System.out.println("this line will never be print!"); }异常断点会停顿在报出异常的具体代码行。
点击View Breakpoints
在异常断点处添加新的异常断点
接下来,只要你的程序遇到空指针异常,它就会停顿到发出空指针异常的那一行代码那里。
没有显式打断点:
debug:
这个异常断点对于我们异常调试很方便。
字段断点 | 读写监控 // 字段断点 | 读写监控 public static void field() { Person p = new Person("field", 10); p.setAge(12); System.out.println(p); }