1 常用断点类型
1.1 行断点
在相应行打断点
1.2 详细断点
idea中详细断点的快捷键是shift+鼠标左键,如果运行详细断点的时候,没有选择(Suspend)挂起,
断点是不会停的,但会打印详细的类名和方法名和具体行数,选择(Suspend)和行断点一样
1.3 方法断点 | 接口跳转实现类
在方法上打断点,会在方法的第一个行和最后一行挂起,可以看整个方法运行完后的所有该方法参数的堆栈信息
对于接口,只需在接口上打一个方法断电,断点会在他具体的实现类中挂起
1.4 异常断点 | 全局捕获
不用在业务代码上打断点,在idea设置之后,只要有那个异常,便会在异常的那行自动挂起,
推荐使用
1.5 字段断点 | 读写监控
字段断点,该断点打在类的属性上,当属性值变化是就会在变化的地方挂起
person.age的值第一次变化是在构造方法中
第二次变化是set值的时候变化
2 常用断点使用例子
2.1 条件表达式
只会在i为偶数的时候,断点暂停
只会在thread1的时候,断点暂停
2.2 打印堆栈信息
2.3 表达式解析
通过表达式方式,在调试的时候,想知道某个部分信息,或者修改参数信息等,
都可以用这种表达式方式
2.4 强制返回
① 按照以下截图能够强制返回调用方法前的地方,但并未跳过该方法
② 下面截图能够强制并跳过,避免出现异常的时候造成脏数据
2.5 bug按键测试
① step over (F8) 一步一步运行
② step into 进入方法体,但是jar引入的方法不会进入
③ force step into 和②一样,并且可以进入源码的方法
④ step out 和②想法,跳出
⑤ Run to Cursor 对于有些行不想执行,直接跳到光标所在行
⑥ show Execution point 之前跳转到打断的行
2.6 jdk 8 以上流式处理
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
选择flat modle (平坦模式)
显示全过程