IDEA的debug调试技巧
来自B站
全网最实用的 IDEA Debug 调试技巧(超详细案例)
https://www.bilibili.com/video/BV1xa411Y72S?spm_id_from=333.337.search-card.all.click&vd_source=a3ca5632ce12ee8045822c508dc81551
方法断点
方法断点是菱形/正方形的
1、在接口的方法上打断点
虽然我们在接口里的方法上打断点,但是idea会在实现类的方法上暂停(相当于我们是直接打断点在对应具体实现类中的方法上的)
字段断点
就是类中的属性字段的断点
默认是会在此字段被修改的时候暂停(set()方法)
异常断点
可以设置全局的异常断点(哪里发生此异常就会在哪里自动暂停,不需要我们手动设置)
在下图中左上角的+号 里添加
1、我们可以在某个方法上直接抛异常,来测试我们写的代码是不是能很好的处理异常(有没有对指定的异常处理到位)
退帧
可以重复调用我们想要调试的方法
条件表达式
在行断点上右击
设置后 点击F9 如下图: 会在i=99的时候暂停
例子2、
强制返回
假设如下图中的 变量i的值 是有有问题的,我们不想让代码继续往下走 然后写入数据库中, 现在我们想直接程序终止掉,不让代码继续执行了
Stream流debug
执行表达式
在测试环境远程debug
实际测试:
就会如下图
结合 执行表达式
生产上的其他方法(非日志)??
多线程调试
一般情况下 不进行设置的话,idea会对所有的线程进行暂停,不会只阻塞当前线程
- thread模式: 所有线程一次debug
- All 模式: 只debug第一个线程暂停
调试多线程需要我们如下图单独设置
现在再次执行,效果如下图:
如下图:三个线程都被断点拦住了,我们可以切换到每一个线程(包括主线程),然后切换后可以按F8、F7对每一个线程进行调试