利用 IDEA 高效 debug
暂停
在 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
本文采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 ShiGuang
评论