一.debug功能框的大致了解
左边框里的:
- 重新启动程序
- 修改程序的运行配置
- 跳到下一个断点
- 暂停程序
- 终止
- 断点的详细配置
- 屏蔽所有的断点
右上框:
- 执行下一行
- 进入执行的方法内部
- 强制进入执行的方法内部(一般用于系统方法)
- 跳出方法体
- 跳到鼠标光标所在的位置(
注意:无论你是否打断点都会暂停
)
二 断点的种类
1.行断点
直接在所在行的左边点一下即可打上断点
右键可以调出详细配置界面
enable:是否开启中断功能
Suspend:被谁调用的时候发生中断(ALL:全部 Thread:只会挂起调用的本线程,不会挂起全部线程)
Condition:中断条件,比如写i == 2
2.详细断点(源断点)
shift + 鼠标左键
详细断点的配置和行断点类似,只是多了些对异常,过滤器,命中次数的配置,这些不经常用,就不做讲解了
3.方法断点
在方法声明的那行打上断点
- Emulated:会将方法断点优化成方法中第一条和最后一条语句的行断点,这样会优化调试的性能,但native方法不要勾上
- Method entry:方法进入时触发断点
- Method exit:方法结束时触发断点
Tips:要是不知道那个实现类会调用,可以直接给接口打上断点,这样调用该接口的实现类时ide也会中断
4.字段断点
用来监视变量
效果图
三. 断点的详细配置
从上往下:
- 所有断点
- 断点遇到异常类的处理
- JavaScript相关断点
这里重点说一下异常类的处理:
- 点击加号,选择第三个
- 可以加入你要的系统异常类或者你自己实现的异常类
- 效果如下
即在你给断点添加过异常后,在遇到断点有异常发生后会捕获异常以及发生中断