平时工作DeBug是常规操作, 但对里面有的按钮不了解, 整理一下全部DeBug的知识点:
文章目录
1、DeBug开篇
DeBug即调试程序, 以 :
- 追踪代码的运行流程
- 定位程序运行的异常
- 线上问题追踪
Debug的步骤:
2、断点
2.1 认识断点
断点是一个标记, 当程序运行到断点时,程序中断执行,进入调试状态. IDEA中断点有四种:
写个简单的测试程序体现一下:
2.2 断点的状态
- 常规状态:默认(原始)状态
- 禁用状态:断点暂时处于禁用状态,不会被执行
- 已验证状态:编译器会检查断点的设置是否合理。如果是,则将断点标记为已验证
- 静音状态:断点暂时处于静音状态,不会被执行;其与禁用状态功能类似,不同点在于使用场景
- 依赖状态:当一个断点的触发依赖于另一个断点时,显示为依赖状态
- 挂起状态:挂起状态有两种类型,第一种是挂起全部线程,第二种是只挂起当前线程。当断点状态设置成了第二种方式后,只有当前线程会被堵塞,其他线程(程序)会正常执行,这在Spring Boot程序的测试中十分有用
- 无效状态:断点的设置不是合理的,被标记的代码永远不可能被执行到
- 警告状态: 如果断点的设置是合理的,但是存在其他问题,则编译器会向您发出警告。例如当被标记的方法可能不会被执行到时
2.3 断点的一些相关设置
3、调试按钮和功能键
3.1 调试按钮
3.2 功能按键
4、变量查看
先看一下debug窗口:
- 方法调用栈:这里显示了该线程调试所经过的所有方法,勾选右上角的Show All Frames按钮,就不会显示其它类库的方法了
- Variables:在变量区可以查看当前断点之前的当前方法内的变量
- Watches:查看变量,可以将Variables区中的变量拖到Watches中查看
IDEA中,变量值的查看可以以下几个地方:
5、计算表达式
使用Evaluate Expression (Alt + F8)可以在调试过程中计算某个表达式的值,而不用再去打印信息。注意三点 :
- 选中要计算的表达式或函数调用链, 点击计算按钮或者Alt+F8
- 表达式不仅可以是一般变量或参数,也可以是方法,当你的一行代码中调用了几个方法时,就可以通过这种方式查看查看某个方法的返回值
- 在计算表达式的框里,可以改变变量的值,如此就可以很方便的看到各个传参下的返回值
6、智能步入
当一行上有多个方法调用,使用Step Into (Alt + F7) 或者 Force Step Into (Alt + Shift + F7)这两个操作都是根据调用的顺序依次步入。当只想调试其中一个方法的时候,就很不方便。由此:Smart Step Into (Shift + F7)智能步入
Run | Debugging Actions | Smart Step Into或者直接Shift+F7
,然后点击你要进入的方法即可
8、回退断点
断点回退就是回退到上一个方法调用的开始处,在IDEA中无法一行一行的回退或者回退到上一个断点处,而是回到上一个调用的方法,回退的方式有两种:
注意:断点回退只是重新走一下流程,之前的数据改变了是无法回退的,如更新了数据库等结果无法改变(文艺的说这个是不是叫重蹈覆辙哈哈哈)
最后贴上IDEA的文档,安装、debug、远程debug、git…等操作看这里【IDEA文档https://www.jetbrains.com/help/idea/2020.3/tutorial-remote-debug.htm】
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/146062.html