目录
- 界面/按钮释义
- Step Over:继续向下运行代码行,不会进入当前行的方法中
- Step Into:进入当前代码行的方法内部(只能进入你自己写的方法,不会进入源码的方法),若不存在方法则直接运行至下一行代码
- Force Step Into:强制进入当前代码行的方法内部(既可以进入自己写的方法也可以进入源码的方法),若不存在方法则直接运行至下一行代码
- Step Out:返回上一步,从进入的方法内回退到方法的调用处,此时进入的方法已执行,但是还没有完成赋值,且不能再使用 Step Into 进入方法和不可以使变量回到待调用状态
- Evaluate Expression:计算表达式即执行调式的代码
- Reset Frame:撤销,从进入的方法内强制回退到待调用的状态(可以使变量回到待调用状态)
- Run to Cursor:在不用打断点的情况下直接运行到你的光标所在的代码行并产生断点的作用
- Force Return:强制返回,从当前执行代码处强制结束方法(当前执行代码处后的代码不在运行/避免操作资源)
- 有哪些断点
IDEA中断点的使用,基于IDEA2022_01版本(教育付费版)
界面/按钮释义
Debug的 快捷键,你把鼠标放在上面停顿下即可查看到.
Step Over:继续向下运行代码行,不会进入当前行的方法中
gif 演示
Step Into:进入当前代码行的方法内部(只能进入你自己写的方法,不会进入源码的方法),若不存在方法则直接运行至下一行代码
gif 演示
Force Step Into:强制进入当前代码行的方法内部(既可以进入自己写的方法也可以进入源码的方法),若不存在方法则直接运行至下一行代码
gif 演示
Step Out:返回上一步,从进入的方法内回退到方法的调用处,此时进入的方法已执行,但是还没有完成赋值,且不能再使用 Step Into 进入方法和不可以使变量回到待调用状态
gif 演示
下面在来看一下变量的值的变化,注意 GIF 中变量 c 的变化,在使用 Step Out 后变量 c 没有马上复制,然后再次使用 Step Into 发现无法再次进入方法,直接执行到下一行代码,且变量 c 在此时才完成赋值.
Evaluate Expression:计算表达式即执行调式的代码
Reset Frame:撤销,从进入的方法内强制回退到待调用的状态(可以使变量回到待调用状态)
GIF 演示 Reset Frame 和 Step Out 的区别,从 gif 中可以看到 Reset Frame 可以一直回到待调用状态,而 Step Out 则只能回到最上层的方法的调用处且变量的值不能回退.
Run to Cursor:在不用打断点的情况下直接运行到你的光标所在的代码行并产生断点的作用
GIF 演示
Force Return:强制返回,从当前执行代码处强制结束方法(当前执行代码处后的代码不在运行/避免操作资源)
GIF 演示,从演示中可以看到,在断点处单击 Force Return 后直接结束了当前方法到了下一代码行并且断点处后面的代码并未被执行
有哪些断点
行断点
代码运行到指定行代码时暂停.
源断点(关闭 Suspend,开启 log)
点击开启断点然后鼠标右键编辑断点信息
仅记录断点的位置,没有在断点处暂停的作用
方法断点
断点打在方法所在的行,当方法内所有的代码行运行结束后会停留在方法的最后一个花括号处,并显示方法内所有变量的值
Gif 演示
变量断点/读写监控
断点打在变量所在的代码行,当被断点的值发生变化时触发断点
Gif 演示
异常断点/捕获异常
全局捕获到指定异常触发断点
例如已知以下异常
设置捕获改异常
然后 debug 则捕获到指定异常
GIF 演示
条件表达式断点
当代码逻辑符合指定条件时触发断点
启动 debug,可以看到当 i==2 时触发断点
打印堆栈信息
此处用法与源断点类似,勾选 Stack trace,即可输出堆栈信息
GIF 演示