- IntelliJ IDEA 教程
- IntelliJ IDEA - 首页
- IntelliJ IDEA - 简介
- 安装和配置
- IntelliJ IDEA - 熟悉环境
- 创建第一个 Java 项目
- IntelliJ IDEA - 深入探究
- IntelliJ IDEA - 深入探究编辑器
- IntelliJ IDEA - 代码重构
- IntelliJ IDEA - 运行项目
- IntelliJ IDEA - 构建工具
- IntelliJ IDEA - 单元测试
- IntelliJ IDEA - 调试
- IntelliJ IDEA - 性能分析
- IntelliJ IDEA - 版本控制
- IntelliJ IDEA - 数据库
- 从 NetBeans 迁移
- IntelliJ IDEA - 从 Eclipse 迁移
- IntelliJ IDEA 资源
- IntelliJ IDEA - 快速指南
- IntelliJ IDEA - 有用资源
- IntelliJ IDEA - 讨论
IntelliJ IDEA - 调试
调试器使应用程序调试变得更加容易。使用调试器,我们可以在程序的某个特定点停止执行,检查变量,单步进入函数,以及执行许多其他操作。IntelliJ 提供了内置的 Java 调试器。
断点
断点允许在程序执行的特定点停止。可以通过将鼠标悬停在编辑器边距区域并单击来设置断点。
断点用红色圆圈符号表示。例如,在第 3 行设置了断点。
请参考以下步骤以了解断点的运作方式:
右键单击红色圆圈符号。
选择“更多”选项。
要删除断点,只需单击相同的符号即可。
请按照以下步骤启动调试器:
- 导航到“运行”菜单。
- 选择“调试”选项。
单步进入
在调试过程中,如果遇到函数并且选择了“单步进入”操作,则调试器将停止该函数的每个点的程序执行,就像该函数启用了调试一样。
例如,当程序执行到达第 9 行时,如果我们选择“单步进入”操作,那么它将在**sayGoodBye()** 函数中的每一行停止执行。
单步跳出
“单步跳出”操作与“单步进入”操作完全相反。例如,如果您在上述场景中执行“单步跳出”操作,则调试器将从**sayGoodBye()** 方法返回并从第 10 行开始执行。
单步跳过
“单步跳过”操作不会进入函数,而是跳到下一行代码。例如,如果您位于第 9 行并执行“单步跳过”操作,它将把执行移动到第 10 行。
恢复程序
“恢复程序”操作将继续执行程序,并忽略所有断点。
停止操作
“停止”操作有助于停止调试器。
智能单步进入
在调试过程中,我们有时可能会到达调用多个方法的代码行。在调试这些代码行时,调试器通常允许我们使用“单步进入”并引导我们遍历所有子函数,然后返回到父函数。但是,如果我们只想单步进入一个子函数怎么办?使用智能单步进入,它允许我们选择要单步进入的函数。
现在,让我们创建一个包含以下代码行的 Java 类:
public class HelloWorld {
public static void main(String[] args) {
allFunctions();
}
static void allFunctions() {
System.out.println(function1() + " " + function2() + " " + function3());
}
static String function1() {
return "function1";
}
static String function2() {
return "function2";
}
static String function3() {
return "function3";
}
}
在上面的代码中,**allFunctions()** 调用了另外 3 个函数。让我们在此函数处设置断点。请按照以下步骤执行智能单步进入:
- 转到“运行”
- 选择“智能单步进入”。
- 选择要进入的子函数。
检查变量
在调试过程中,IntelliJ 会在编辑器窗口中显示变量的值。我们也可以在“调试”窗口中查看相同的信息。
计算表达式
“计算表达式”允许动态计算表达式。请按照以下步骤执行此操作:
在调试器中启动应用程序。
导航到“运行->计算表达式”。
输入表达式。在下面给出的示例中,变量“i”的当前值为 0;因此,表达式“i > 100”将计算为 false。