暂停

在 Idea 中调试 java 代码时,断点类型有两种:

All

使用all模式对于程序中含有多个线程来说,所有的线程都要在当前位置被阻塞,谁先来就先阻塞谁,发生阻塞时其他的线程当前时刻执行到哪里就在哪里进行原地等待

Tread

如果是Thread的模式,所有的线程都会执行到断点处然后阻塞,每个线程依次进行调试,依次进入断点中

不暂停的 debug

查看变量值

不暂停直接观察相关变量值

查看控制台输出

强行改变变量值

只能用于修改Boolean类型的值(如果勾选了Suspend,则是条件断点)

查看调用堆栈

可以直接观察到调用堆栈

命中断点

如果执行了断点所在位置,会在控制台打出一行日志

快速执行表达式

在调试的时候,选中表达式,快捷键【Alt + F8】,可以执行表达式

也可以手动点击

调试的操作回退

使用限制:a函数调用b函数,当程序执行到b函数中的内容时,可以通过Reset Frame来回退回上一层函数进入的那句语句

也可以借助IDEA插件实现:Jump To Line 任意跳转

条件断点

当执行到cateId等于101的时候,程序就会停下

谁给变量赋值

有个变量 cateId,我想知道谁给该变量赋过值,只需要在 pojo 对象的 cateId 上打上断点即可

接口方法上打断点

在一个项目中有无数个类实现了同一个接口,想调试到真正执行某个方法的地方,可以在接口的方法上打断点,访问接口的方法后,IDEA会自动跳到具体的执行方法上

全局异常断点

自动断点到出现异常的地方,比如说创建一个空指针断点

搜索需要断点的异常名称

debug执行,在发生空指针的地方自动停止

调试Java Stream