当程序不明觉厉地出现错误时,令人头疼。很多人选择Google一下,看是否有人已经犯过这种错误。其次就是看源代码,看到一脸懵逼。当然这都不失为一种解决问题的方式。本博客提供一种解决问题的方式,也是我们最容易忽视的方式,更是我们可以自食其力的方法。利用调试助手来解决问题,不仅你会对问题有更深的了解,更会让你从不知所措变得游刃有余。以下以Java IDE软件IDEA为例。当然过程也使用于任何其它带调试工具的编程应用软件。掌握调试方法,扫除前路bug。
IDEA为用户提供了一整套用于调试源代码的工具:
- Java中的断点
- 多个同步调试会话
- 可自定义的断点属性:条件,传递计数等
- 调试器UI中的框架,变量和监视视图
- 表达式的运行时计算
前情准备
断点是在指定点暂停程序执行并测试程序行为的源代码标记。一旦设置,断点会一直存在直达你移除它(除了临时行断点),断点有四种。
- 行断点
- 方法断点
- 异常断点
- 现场观察点
第一站:准备调试环境
来一段代码+设置一个断点+点击调试按钮,只如此便可以进行简单的调试。点击代码编辑区的gutter(沟槽)处,设置断点。双击取消。如图所示。
第二站:开启调试
点击图中所示按钮就可以开启调试过程。
这之后IDEA下方会出现调试窗口,进而更多的操作在其中进行。如图所示。
第三站:调试工具窗口——步进工具栏
调试窗口的图标含义如图所示。
其它的图标按钮自行探索,或者参阅官方指导1。实例请看这篇文章LengthFieldBasedFrameDecoder和LengthFieldPrepender——从调试的眼光看Netty源码 ?
第四站:调试工具窗口——变量窗口,变量图标及其含义
https://www.jetbrains.com/help/idea/debug-tool-window.html#steptoolbar ↩︎