一、前言
为什么需要调试代码?调试可以帮助我们理解代码运行时的执行细节,例如变量的值等。通常,我们通过调试来发现并修复代码中的错误。熟练掌握调试技巧是成为一名合格程序员的基本要求。
本文的开发环境包括:
二、调试技巧
设置断点
立即学习“Java免费学习笔记(深入)”;
在代码编辑区域,点击左侧代码行号的边即可在该行设置断点。
启动调试
通过鼠标右键菜单选择“Run App.main()”,或者使用快捷键Shift+F9启动调试。
启动调试后,程序会启动并停留在第一个断点处,此时该行的代码尚未执行。IDEA的底部会出现Debug工作区,鼠标移动到各按钮上会显示提示信息。本文仅介绍部分常用功能。
- 常用工具栏
绿色返回箭头 | 重新运行程序(Ctrl+F5) 绿色向右箭头 | 继续执行程序,如果遇到断点则会停留到该断点(F9) 红色方块 | 停止程序(Ctrl+F2) 双红色小圆圈 | 查看所有断点信息(Ctrl+Shift+F8)
- Debug工具栏
红色箭头+横线 | 回到当前待执行,调试过程中如果查看引用的方法跳来跳去,可以使用该功能快捷返回(Alt+F10) 蓝色向下箭头 | 单步调试:执行一条语句,但是遇到方法调用时不进入,直到方法执行完成后直接继续(F8) 蓝色向右下箭头 | 单步调试:执行一条语句,但是遇到系统类库方法调用时不进入,直到方法执行完成后直接继续。如果遇到非系统类库中的方法,则会进入该方法进行调试(F7) 红色向右下箭头 | 单步调试:执行一条语句,遇到方法调用时会进入方法进行调试(Alt+Shift+F7) 蓝色向右上箭头 | 执行当前方法并到下一步骤,如果当前方法有断点则会到下一个断点(Shift+F8) 蓝色向右下小箭头+竖线 | 运行到下一个断点(Alt+F9)
- Frames区域
mian:12 | mian方法的第12行 App | 当前的类名 io.ken.hello.Java | package name
- 变量区域
管理当前方法已经声明的变量信息。
修改变量值
选中要修改的变量,使用快捷键F2进入编辑模式。
按回车键保存,然后使用F8进行单步调试。
这样,本来运行后result=false,结果由于我们修改了变量的值,原本会被跳过的if语句块可以被调试。
三、IDEA调试快捷键总结
Shift+F9 | 启动调试 F9 | 继续执行程序,如果遇到断点则会停留到该断点 Ctrl+F2 | 停止程序 Ctrl+Shift+F8 | 查看所有断点 Alt+F10 | 回到当前待执行,调试过程中如果查看引用的方法跳来跳去,可以使用该功能快捷返回 F8 | 单步调试:执行一条语句,但是遇到方法调用时不进入,直到方法执行完成后直接继续 F7 | 单步调试:执行一条语句,但是遇到系统类库方法调用时不进入,直到方法执行完成后直接继续。如果遇到非系统类库中的方法,则会进入该方法进行调试 Alt+Shift+F7 | 单步调试:执行一条语句,遇到方法调用时会进入方法进行调试 Shift+F8 | 执行当前方法并到下一步骤,如果当前方法有断点则会到下一个断点 Alt+F9 | 运行到下一个断点