IDEA 对于断点的支持非常丰富。掌握这些技巧以后,可以大大的提升开发效率。是帮助程序员保住头发,远离 996 的秘密武器。
创新互联自2013年创立以来,先为沙河等服务建站,沙河等地企业,进行企业商务咨询服务。为沙河企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
IDEA 支持以下四种断点类型:
行断点,在日常开发中最常用的方式。添加一个行断点很简单,在需要添加断点的 gutter 上鼠标左键单击,或者光标定位到需要设置断点的代码行,按 Ctrl + F8 即可。
行断点
断点添加成功后,gutter 上会显示一个红色的圆点。接下来,使用 Debug 方式运行程序,就可以对代码进行调试了。
方法断点你可能之前没有用过,但如果你有阅读源码的习惯,那么你需要好好利用一下这个家伙了。
方法断点
添加方法断点和添加行断点的步骤一样,两者只是外观上有些不同,方法断点用红色的菱形表示。
那么方法断点有什么用呢?举个例子:
类图
有如上类关系,代码实现如下:
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 是 ServiceImplA 的实例,还是 ServiceImplB 的实例(这个例子代码比较简单,像 Spring 这类开源框架要复杂很多,看过源码的话都有体会)。
接下来就是方法断点表演的时刻了,在接口 Service 的 method() 上打一个断点:
方法断点
运行程序,查看效果:
方法断点效果
可以看到,hello() 方法中的 service.method() 真正调用的是 ServiceImplA 的 metho() 方法。
另外,方法断点还支持以下配置:
方法断点配置项
其中,Method entry 和 Method exit 二者至少要选择一个(如果进入方法和退出方法都不选,那方法断点也就没啥用了)。
字段断点也是一个看源码的神器。当一个成员变量被多方引用时,它可以精准的找到谁读取、修改了它的值。
字段断点
字段断点用一个红色的眼睛表示,可谓是非常形象了。就像给成员变量专门安排了一个盯梢的人,有什么风吹草动第一时间通知你。
运行程序,看下效果:
字段断点效果
可以看到,精准的定位到 hello 被赋值的位置。
字段断点还支持以下配置:
字段断点配置项
同样,Field access 和 Field modification 最少选一个。
异常断点在我们修复 bug 的时候很有用。可以精准的定位到发生(指定类型)异常的代码行。
异常断点
异常断点用一个红色的闪电表示(断点响应以后才会显示)。
使用快捷键 Ctrl + Shift + F8 打开断点管理对话框,按如下步骤进行添加:
添加异常断点
设置断点响应的异常类型:
设置异常类型
运行程序,查看效果:
异常断点效果
可以看到,当发生(指定类型)异常后,程序停在了发生异常的代码行,并在前面放一个红色的闪电,提醒你就是这行代码要搞事情。
断点还支持以下配置:
异常断点配置项
同样,Caught exception 和 Uncaught exception 最少选一个。
使用快捷键 Ctrl + Shift + F8 打开断点管理对话框,可以解锁更多断点的玩法:
断点管理
比如可以设置断点在满足指定条件时才响应:
条件断点效果
更多玩法留给你去探索。
下面是 IDEA 中各种类型断点在不同状态下的图标示意:
断点图标示意
标题名称:玩转IDEA花式打断点,从此告别996
文章链接:http://www.shufengxianlan.com/qtweb/news27/259927.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联