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

  • Post author:
  • Post category:其他




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



(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说明

调试窗口

frame界面说明



(1)Drop Frame按钮

回退之前:

在这里插入图片描述

在这里插入图片描述

回退之后:

在这里插入图片描述



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

回退到该方法的上一个方法调用处,此时再按F9(Resume Program),可以看到程序进入到该方法的断点处。

在这里插入图片描述

在这里插入图片描述



注意

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

已改变的数据无法回退!



3、条件断点

在设置断点处右键,弹出断点设置界面,在condition中输入想要的断点条件,点击done即可;

再次启动调试,只在满足设置的条件时,才会暂停。

在这里插入图片描述



4、热修改

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

可以在【

变量区

】选中该变量,然后

右击选择

Set Value


,然后就可以将变量修改为你想要的值,再进行程序的调试。



5、表达式求值



(1)查看变量

使用表达式来求解程序中没有的逻辑,比如我想查看当前变量fruit的长度,那么在弹出来的表达式求值中输入fruit.length(),回车执行即可。

在这里插入图片描述



(2)修改变量

还可以用【表达式求值】设置变量的值

在这里插入图片描述



6、新建变量监控

新建变量监控,对属性

右键选择

Add to Watches


就可以让我们关心的值一直展示在watch列表中,随着程序的执行,自动求值



7、多线程调试

可以在子线程逻辑的指定位置处,打上断点,然后

右击断点

,选择【

Thread模式

】;

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

image.png

然后再全部放行。



8、主动抛出异常

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

可以在调试界面的左侧

选择当前的进程

,然后

右击选择【Throw Exception】

,在弹出框内给出具体的想要抛出的异常类型。

在这里插入图片描述

在这里插入图片描述

参考:

https://www.jianshu.com/p/12e12645547f



版权声明:本文为nuaa_jack原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。