IDEA断点实用小技巧
1. 多线程调试
背景:默认情况下,IDEA断点时会阻塞所有请求,此时外部想再发送一个请求也会被阻塞,如图所示,有page1、page2接口:
此时只需要将Suspend设置为Thread,并且点击Make Default即可
此时使用Postman模仿两个请求:
可以看到有两个线程,点击切换则进入另一个Debug的线程。
2. 断点修改变量值
背景:有时我们在断点的时候发现,参数值不是我们想要的,但是重新发起一次请求又比较麻烦,此时就可以在断点时重新设置参数值,步骤如下:①找到Threads & Variables ②找到当前的方法栈 ③在当前方法栈中找到对于参数,这里我们要修改list参数 ④Set Value
这里我将list设置为null,此时控制台将不会打印:page111
3. 断点条件设置
背景:如图所示,list中添加100个元素,假设此时我想查看第50个元素的时候newValue的值是多少,如果一步一步断点将要死…
步骤:①右击断点 ②在Condition输入条件表达式 ③Done
此时即可在i == 50时才会断点。
4. 回退断点
所谓的断点回退,其实就是回退到上一个方法调用的开始处,在IDEA里测试无法一行一行地回退或回到到上一个断点处,而是回到上一个方法。
背景:断点时不经意间错过我们想要断点的方法,此时再发起一个请求就比较麻烦。
如图所示在CollectionUtil.isNotEmpty()方法里面都进行了断点:
假设一不小心我进入了第二张图所示的断点,想要返回第一张图的断点。
步骤:①找到Threads & Variables ②找到当前的方法栈 ③点击Reset Frame
即可回到第一张图的方法。
5. 中断Debug
想要在Debug的时候,中断请求,不要再走剩余的流程了。
背景:有些时候,我们看到传入的参数有误后,不想走后面的流程了,怎么中断这次请求呢(后面的流程要删除数据库数据呢…比较麻烦),难道要关闭服务重新启动程序?嗯,我以前也是这么干的。
步骤:①找到Threads & Variables ②找到当前的方法栈 ③点击Force Return ④填写返回值
由于此时我page1方法返回值类型为String,所以,我返回了"Fail"
6. 计算表达式
背景:计算变量值
如图所示,想要看将list2中的元素添加到list1中,查看list1的值:
快捷键:Alt+F8
此时查看list1中元素:
可以看到控制台也打印了: