? ? ? ? ?
Debug简介
? ? ? ? Debug是用来追踪代码,通常在程序运行中出现异常的时候启动debug模式可以分析定位异常发生的位置,以及在运行过程中参数的变化,通常我们也可以启动Debug模式来跟踪代码的运行流程去学习三方框架的源码
Debug与Junit的区别
????????Debug与JUnit都是测试工具,JUnit是从大层面来看方法有没有问题,通过举例子来测试方法验证是否通过,而Debug是用来验证方法里的每一行或者你想看方法里的某一行代码的执行结果,是从具体的层面来检查代码是否出现问题
如何使用Debug
? ? ?基本界面:
? ? ? ? 首先我们打开idea,点击调试按钮后可以发现下面的Debug窗口
图中的标注含义:
(1).调试键按钮
(2).Variables(变量):在变量区可以查看当前断点之前的方法内的变量
(3).Watches(监视):查看变量,可以将Variables区的变量拖到Watches中查看
? ? ? ?基本按钮
- 显示执行点(Alt+F10):如果你的光标在其他行或者其他页面,点击这个按钮即可跳转到当前代码执行的行
- 步过(F8):一行一行往下走,如果这一行上有方法的话不会进入方法
- 步入(F7):如果当前行有方法,可以进入方法内部,一般用于自定义方法内,不会进入官方类库的方法
- 步出(Shift+F8):步出,从步入的方法内退入到方法调用处,此时方法已执行完毕,只是还没有完全赋值
- 运行到光标处(Alt+F9):你可以将光标定位到你需要查看的那一行,然后使用这个功能,代码会运行至光标行,而不需要打断点
- 计算表达式:一般不用
? ? ? ?补充用法:
- 强制步入(Alt+Shift+F7):强制步入,能进入任何方法,查看底层源码的时候可以用这个进入官方类库的方法
- 智能步入(Shift+F7):按住快捷键,可自动定位到当前断点行,并列出需要进入的方法,点击方法可进入方法内部,如果只有一个方法,则直接进入
- 运行到光标处(Alt+F9)
- 强制运行到光标处(Ctrl+Alt+F9):若遇到循环,可用此操作强制跳出循环
基本按钮2:
????????? ? ?
? ? ? ? ??
- 重新运行程序,会关闭服务后重新启动程序
- 修改运行配置
- 恢复程序,走到下一个断点处,若没有断点,则结束程序
- 暂停程序,一般不用
- 查看所有断点
- 静音断点,选择这个后,所有断点变为灰色,断点失效,按F9则可以直接运行完程序,再次点击,断点变为红色,有效。如果只想使某一断点失效,可以在断点右上角取消Enabled
? ? ??