写代码离不开调试,调试离不开断点。

IDEA 对于断点的支持非常丰富。掌握这些技巧以后,可以大大的提升开发效率。是帮助程序员保住头发,远离 996 的秘密武器。

断点类型

ID成员变量有没有默认值EA 支持以下四种断点类型:

  • 行断点(Line breakpoints):最常springboot菜鸟教程用的一种,可以设置在任意可执行的代码行上面。
  • 方法断点(Method breakpoints):设置在方法签名上,当进入或退出程序员那么可爱免费观看方法时,断点可被唤醒。
  • 字段断点(Field watchpoints):设置在字段(成员变量)上程序员怎么学,当该字段源码时代被读取或者赋源码精灵永久兑换码值时断点被唤醒。
  • 异常断点(Exception breakpoints):当抛出指定异常时断点被唤醒。**
    *程序员那么可爱*

行断点

行断点,在日常开发中最常用的方式。添加一个行断点很简单,在需要添加断点的 gutter 上鼠标左键单击,或者光标定位到需要设置断点的代码行,按 Ctrl + F8 即可程序员工资一般多少

玩转 IDEA 花式打断点,从此告别 996

断点添加成功后,gutter 上会显示一个红色的圆点。接下来,使用 Debug 方式运行程序,就可以对代码进行调试了。

方法变量名断点

方法断点你可能之前没有用过,但如果你有阅源码中的图片源码的习惯,那么你需要好好利用一下这springboot项目搭建个就家伙了。

玩转 IDEA 花式打断点,从此告别 996

添加方法断点和添加行断点的步变量名骤一样,两者程序员那么可爱免费观看只是外观上有些不同,方法断点用红色的菱形表示。

那么方法断点有什么用呢?举个例子:

玩转 IDEA 花式打断点,从此告别 996

有如上类关系,代码实现如下:

public class ServiceImplA implements Service{
    @Override
    public String method() {
        return "hello A";
    }
}
public class ServiceImplB implements Service{
    @Override
    public String method() {
        return "hello B";
    }
}

有如下调用:

public String hello() {
    // 假设通过看代码很难确定是哪个实现类的实例
    Service service = createService();
    return service.method();
}

这个时候,我们不能一眼看出 service 是 ServiceImpspringboot项目搭建lA 的实例,还是 ServiceImplB 的实例(这个例Spring+Boot子代码比较简单,像 Springspringboot菜鸟教程 这类开源框架要复杂很多,看程序员过源码的话都有体会)。

接下来就是方法断点表演的时刻了,在接口 Service 的成员变量和成员方法 method()上打一个断点:

玩转 IDEA 花式打断点,从此告别 996

运行程序,查看效果:

玩转 IDEA 花式打断点,从此告别 996

可以看到,hello() 方法中的 service.method()成员变量和成员方法真正调用的是 ServiceImplA 的 metho() 方法。

另外,方法断点还支持以下配源码置:

玩转 IDEA 花式打断点,从此告别 996

其中,Method entry 和 Method exispringboot是什么框架t 二者至少要选择一个(如果进入方法和退出方法都不选,那方法断点也就没啥用了)。

字段断点

字段断点也是一个看源码的神器。当一个成员变量被多方引用时,程序员怎么学它可源码精灵永久兑换码以精准的找到谁读取、修改源码编辑器下载了它的值。

玩转 IDEA 花式打断点,从此告别 996

字段断点用一个红色的眼睛表示变量名,可谓是非常形象了。就像给成员变量专门安排了一个盯梢的人,有什么风吹草动第一时间通知你。

运行程序,看下效果:

玩转 IDEA 花式打断点,从此告别 996

可以看到,精准的定位到 hello 被赋值的位置。

字段断点还支持以下配置:

玩转 IDEA 花式打断点,从此告别 996

同样,Field access 和 Field modification 最少选一个。

异常断点

异常断点源码交易平台在我们修复 bu源码精灵永久兑换码g 的时候很有用。可以精准的定位到发生(指定类型)异常的代码行。

玩转 IDEA 花式打断点,从此告别 996

异常springboot和ssm的区别断点用一个红色的闪电表示(断点响应以后才会显示)。

使用快捷键 Ctrl + Shift + F8 打开断点管理对话框,按如下步骤进行添加:

玩转 IDEA 花式打断点,从此告别 996

设置断点响应的异常程序员工资一般多少类型:

玩转 IDEA 花式打断点,从此告别 996

运行程序,查看效果:程序员计算器

玩转 IDEA 花式打断点,从此告别 996

可以看到,当发生(指定类型程序员需要什么学历)异常后,程序停在了发生异常的代码行,并在前面放一个红色的闪电,提醒你就是这行代码要搞事情。

断点还支持以下配置:

玩转 IDEA 花式打断点,从此告别 996

同样,Caught exception 和 Uncaught exc源码eption 最少选一个。

更多玩法

使用快捷键Ctrl + S变量名hift +F8打开断点管理对话框,可以解锁更多断点的玩法:

玩转 IDEA 花式打断点,从此告别 996

断点管理

比如可以设置断点在满足指定条件时才响应:

玩转 IDEA 花式打断点,从此告别 996

更多玩法留给你去探索。

断点图标

下面是 IDEA 中各种类型断点在不同状态下的图标示意:

玩转 IDEA 花式打断点,从此告别 996

更多独家精彩内容尽在我的新书《程序员Spring Boot趣味实战课》中。