IntelliJ IDEA断点调试技巧

IntelliJ IDEA断点调试技巧

一、开启断点调试

这个按钮可以开启
在这里插入图片描述

二、调试界面按钮

在这里插入图片描述

如图编号

1、返回断点位置

在这里插入图片描述

2、步过

一行行往下执行,不会进入方法里面
在这里插入图片描述

3、步入

以进入我们自定义的方法,如果是其他类库的方法不会进入
在这里插入图片描述

4、5、强制步入、步出

在这里插入图片描述

6、回退断点

这个比较特殊,如果代码没有调用其他地回来方的方法,无法使用状态,进入更深层方法的时候,能够使用,很多时候调试的时候点过头,错过想看的位置,只能重启吗,使用这个drop frame 能回来,这个回退根据栈信息,对于数据库操作不能回退,如果方法调用完,就不能回去了
在这里插入图片描述

7、断点跳到光标处

快速跳到光标处所在行
在这里插入图片描述

8、表达式计算

计算表达式,能获取元素和计算
在这里插入图片描述

9、Stream 调试

Debug调试Lambda表达式时很难受,尤其是哪种一行十几个方法哪种,不知你有没有发现,调试按钮里Trace Current Stream Chain 按钮常年都是黑色的,为什么呢,因为他是做Stream调试的,只有断点在Stream表达式时才能使用,使用方法即断点在Stream时,点击该按钮即可。
在这里插入图片描述

10、恢复程序

按钮称为 Resume Program,能够跳转到指定的断点处,我们在10行和第100行各加一个断点,需要点几下该按钮跳转到100行答案是一次即可,第一次断点会在第10行停下,点击改按钮直接飞越90行到第100行
在这里插入图片描述

11、停止程序

停止调试,但是注意,即便停止了调试,程序也会继续运行下去

12、查看所有断点

在这里插入图片描述

13、禁用断点

暂时禁用掉断点,方便程序继续执行,一般配合 Resume Program。

14、其他

监控变量的变化
在这里插入图片描述

三、调试方法

1、方法断点

方法断点是不是用在普通方法上的,最好的用法是在接口上使用,当我们在调试源码的时候,如果在接口上打了断点,再往下走,可以直接跳转到实现类的实现方法上,而不需要我们一个个的去找
在这里插入图片描述
在这里插入图片描述
方法断点是一个菱形标志
在这里插入图片描述

2、属性断点

属性断点是打在属性上的,我们无需再getter setter方法上打断点,在属性上打上断点,就会出现一个小眼睛的标志
在这里插入图片描述
在这里插入图片描述
在眼睛上点击右键可以设置。
我们一般是通过getter,setter方法设值的,所以就会在这两个方法上停留
在这里插入图片描述

3、异常断点

由于空指针出现了BUG,我们想快速定位到哪里出现了空指针,应该怎么做呢—异常断点
异常断点是一个闪电的标志
在这里插入图片描述
全局打了个空指针断点,只要哪里出现了空指针,就会在那里停止
在这里插入图片描述

4、终止断点

前面我们说过,即便停止程序,也不会让我们后面运行的代码取消执行,那么我一定要取消执行可以–在方法栈上点击右键,有一个Force Return,然后再点击Resumer Program,就可以直接终止返回了。
在这里插入图片描述

5、条件断点

想要在某个条件满足的时候打上断点,而不想一步步的走下去,有什么办法吗? 当然有,在断点处右击,在condition里填入相应的条件即可
在这里插入图片描述

6、流断点

在这里插入图片描述

7、多线程断点

默认All来调试多线程程序会发生什么,可能某条线程就跑掉了,没有停留,而这种方式可以捕获到运行的所有线程
在这里插入图片描述

8、远程Debug

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Name是之后启动的名称,Host 是远程服务器的 ip,port: 用于远程socket 连接的端口,注意不能和项目端口一致,否则会启动失败,然后,idea 会为我们自动生成一条命令行参数:-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005
接着在远程启动jar时,加上我们的参数

java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar xxx.jar

在远程项目启动成功后, 在本地以Debug方式运行第一步配置的服务
在这里插入图片描述

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值