IDEA debug调试技巧基础+进阶汇总

1、常用调试技巧(界面介绍)

IDEA debug调试技巧基础+进阶汇总

(1)Step Over

从当前断点处一步一步地往下执行,遇到调用方法不会步入,倘若已经执行到本方法的最后一行,下一次Step Over就会返回上层调用;

(2)Step Into

当前断点调用了一个本地的方法时,可以使用该功能进入被调用的方法中;

(3)Force Step Into

当前断点调用了一个类库方法时(引用的jar包),可以使用该功能强行进入被调用的方法中;

(4)Step Out

返回调用当前方法的调用处;

(5)Run To Cursor

设置好光标位置后,点击此功能直接运行到光标所在行

(6)Resume Program

按照程序既定逻辑,运行到下一个有效断点处

2、回退drop frame

【断点回退】 ==> 是回退到上一个方法调用的开始处,在IDEA里测试无法一行一行地回退或回到到上一个断点处,而是回到上一个方法

(0)frame说明

IDEA debug调试技巧基础+进阶汇总
IDEA debug调试技巧基础+进阶汇总

(1)Drop Frame按钮

回退之前:
IDEA debug调试技巧基础+进阶汇总
IDEA debug调试技巧基础+进阶汇总
回退之后:
IDEA debug调试技巧基础+进阶汇总

(2)在调用栈方法上选择要回退的方法,右键选择Drop Frame

回退到该方法的上一个方法调用处,此时再按F9(Resume Program),可以看到程序进入到该方法的断点处。
IDEA debug调试技巧基础+进阶汇总
IDEA debug调试技巧基础+进阶汇总

注意

【 断点回退】只能重新走一下流程,之前的某些参数/数据的状态已经改变了的是无法回退到之前的状态的,如对象、集合、更新了数据库数据等等(已改变的数据无法回退!

3、条件断点

在设置断点处右键,弹出断点设置界面,在condition中输入想要的断点条件,点击done即可;
再次启动调试,只在满足设置的条件时,才会暂停。
IDEA debug调试技巧基础+进阶汇总

4、热修改

当我们运行到断点处时,如果当前变量的值不是我们想要的,我们想看看当变量为其他值的时候,程序会发生什么,

可以在【变量区】选中该变量,然后右击选择Set Value,然后就可以将变量修改为你想要的值,再进行程序的调试。

5、表达式求值

(1)查看变量

使用表达式来求解程序中没有的逻辑,比如我想查看当前变量fruit的长度,那么在弹出来的表达式求值中输入fruit.length(),回车执行即可。
IDEA debug调试技巧基础+进阶汇总

(2)修改变量

还可以用【表达式求值】设置变量的值
IDEA debug调试技巧基础+进阶汇总

6、新建变量监控

新建变量监控,对属性右键选择Add to Watches就可以让我们关心的值一直展示在watch列表中,随着程序的执行,自动求值

7、多线程调试

可以在子线程逻辑的指定位置处,打上断点,然后右击断点,选择【Thread模式】;

然后启动调试,此时在调试面板中会出现的多个线程运行到此处都暂停了。

IDEA debug调试技巧基础+进阶汇总
然后再全部放行。

8、主动抛出异常

在断点调试的时候,我们想看看如果异常发生了,程序是否有问题。但是此处的异常很难模拟,比如调用三方库函数,我们不想改动代码就能模拟出调用返回了一个异常。

可以在调试界面的左侧选择当前的进程,然后右击选择【Throw Exception】,在弹出框内给出具体的想要抛出的异常类型。
IDEA debug调试技巧基础+进阶汇总
IDEA debug调试技巧基础+进阶汇总
参考:
https://www.jianshu.com/p/12e12645547f