断点类型介绍
详细断点
shift + 鼠标左键
- Suspend 挂起,设置 suspend 后,断点才会起作用,可以有很多设置
方法断点
- 适用于查看接口方法的实现类
异常断点
- 让程序在抛出指定的异常时,打断点,方便观察异常的原因
- 程序会停在即将抛出异常的那一行
字段断点
- 对于类中字段的操作都会打断点
- watch 中设置对读、写操作打断点
调试技巧
观察变量
- New Watch, 添加一个观察变量
执行表达式
- 执行表达式,查看结果
多线程调试
- suspend 选择 Thread
断点回退
- Drop Frame, 原理是返回上一个函数栈,即退回到调用函数之前
- 若此时没有进入任何函数,则无法回退,比如在main函数中断的代码
条件断点
- 指定条件才触发断点
修改与调试
修改变量的值
- 使用setValue设置调试值
加载变化
- 如果调试时修改了代码,希望加载变化,而不是重新debug
- Run -> Debugging Actions -> Reload Change Classes
避免操作资源
- 有时停止debug后,不希望继续操作资源