java breakpoint 断点
IDEA breakpoint
1. 面板调出
- 快捷键 ctrl + shift + F8, 面板内可以管理所有的断点
2.断点的基本概念
- 断点: 是一种
附加在源代码上面
的特殊标记,在调试模式(debug模式)
下可以触发特定的动作
, 如打印线程调用栈信息、计算值、打印指定表达式的值等等。
3. 断点参数
- 断点并不是孤立存在的, 它可以通过
参数
进行定制化, 这些叫做断点参数
.
4. 断点种类
- Line breakpoint (行断点)
- 在指定的行设置断点
- Temporary line breakpoint (临时行断点)
- 与行断点类似,不同之处在于该类型断点被激活之后会被立即删除
- Field watchpoint (字段断点)
读取
或者修改
字段值时都会激活断点
- Method breakpoint (方法断点)
- 标记在方法那一行的断点,有自己特定的参数
- Exception breakpoint (异常断点)
- 当程序
抛出指定的异常
时会激活异常断点, 异常断点不需要手动打, 是程序级别的
.
- 当程序
5. 断点详解
-
Line breakpoint
- 断点参数
- Suspend (暂停) 提供线程阻塞的作用
- Condition (条件) 只有书写的表达式为True,断点才会被激活
- Log (日志)
- "Breakpoint hit message":断点激活时输出提示日志
- "Stack trace":断点激活时输出程序调用栈信息
- "Evaluate and log":并在下面的输入框中输入"args",断点激活时会计算并输出变量 args 的值
- 断点参数
-
Temporary line breakpoint
- 与行断点区别在于勾选了
Remove once hit
- 与行断点区别在于勾选了
- Field watchpoint
- 在字段行进行创建,主要用于监控字段的读取和修改
- watch (监控): “File Access” 读取时会激活断点,“File modification” 修改时会激活断点
- 在字段行进行创建,主要用于监控字段的读取和修改
-
Method breakpoint
-
在方法定义行进行创建,主要用于监控方法的进入和返回
-
“Method entry”:进入方法时激活断点
-
“Method exit”:出去方法时激活断点
-
“Emulated”:目前发现没啥卵用
-
-
- Exception breakpoint
- 异常断点不对应代码,只对应程序抛出的异常
- Notifications
- “Catch excetion”:程序在捕获(Try Catch)这个异常时激活断点
- “Uncatch excetion”:不catch捕获异常时激活断点
- Notifications
- 异常断点不对应代码,只对应程序抛出的异常
6. 远程debug
// todo
supplement
// todo