IntelliJ IDEA 2026.1 Help

教程:调试您的第一个 Java 应用程序

您已 创建并运行了您的 Java 应用程序。 假设您发现它的运行方式并不符合您的预期。 例如,它返回错误的值,或者因异常而崩溃。 看起来您的代码中存在错误,是时候对其进行调试了。

在本教程中,您将学习如何使用 IntelliJ IDEA 调试器查找并修复 Java 应用程序中的逻辑错误。

您将熟悉基本的调试流程:从设置断点、运行调试会话,到逐步执行代码和分析程序状态。 在此过程中,您将熟悉 调试 工具窗口,以及如何使用变量检查和内联调试来验证程序逻辑。

对于本教程,您只需具备 Java 的基础知识。 本教程使用 Java 25 语法。

什么是调试?

广义而言,调试是检测并纠正程序中错误的过程。

您需要处理不同类型的错误。 其中一些很容易捕获,例如语法错误,因为编译器会处理它们。 另一个简单的情况是,通过查看堆栈跟踪可以快速识别错误,这有助于您找出原因。

但是,也有一些错误非常棘手,查找和修复可能需要很长时间。 例如,一个微妙的逻辑错误可能在程序早期发生,但直到很晚才被发现,这使得问题的解决极具挑战性。

这时, 调试器就派上用场了。 它是一种工具,通过提供对程序内部操作的深入洞察,帮助您高效地查找错误。 这可以通过在指定点暂停执行、分析程序状态,并在必要时逐步推进执行来实现。 在调试期间,您可以完全掌控一切。 本教程介绍一个基本的调试场景,帮助您入门。

检查代码

让我们尝试一个简单的调试示例。

创建一个新的项目

  1. 启动 IntelliJ IDEA。

    如果打开欢迎屏幕,请点击 新建项目。 否则,请在主菜单中转到 文件 | 新建 | 项目

  2. 新建项目 列表中,选择 Java。 为项目命名(例如, AverageFinder )。

  3. 选择 Maven 作为 构建系统

  4. JDK 列表中,选择最新可用的 Oracle OpenJDK 版本。

    如果 JDK 已安装在您的计算机上,但未在 IDE 中定义,请选择 添加 JDK 并指定 JDK 主目录的路径。

    如果您的计算机上没有所需的 JDK,请选择 下载JDK

  5. 请选择 添加示例代码 选项。 点击 创建

    创建新项目

之后,IDE 将为您创建并加载新项目。

编写代码

  1. 项目创建后,在 项目 工具窗口(Alt+1 )中找到 src | main | java | org.example | Main.java 文件,并在编辑器中打开。

  2. 将现有代码替换为以下代码示例:

    void main(String[] args) { IO.println("Average finder v0.1"); double avg = findAverage(args); IO.println("The average is " + avg); } private static double findAverage(String[] input) { double result = 0; for (String s : input) { result += Integer.parseInt(s); } return result; }
  3. 运行应用程序(Shift+F10)。

现在您有一个程序,应该计算作为命令行参数传入的所有值的平均值。

程序可以正常编译和运行;但是,结果并非预期那样。 例如,当您 传递 1 2 3 作为输入时,结果是 6.0 ,而不是 2.0

首先,您需要考虑错误可能来自哪里。 您可以假设问题不在 print 语句中。 很可能,意外结果来自 findAverage 方法。 为找出原因,让我们在运行时检查其行为。

设置断点

为了调查该错误,您需要在程序执行到产生错误结果的代码片段时暂停程序。 这可以通过设置 断点来实现。 断点用于指示程序挂起以便您检查其状态的代码行。

  • 点击 findAverage 方法被调用的那行的行号栏。

    在调用 findAverage 方法的行上设置了一个断点。

现在,您可以在 装订区域看到代码行旁边的红点。 这是一个断点。 当程序运行到此行时,IntelliJ IDEA调试器会暂停程序执行,您可以检查此时发生的情况,并验证程序在该点是否正确运行。

以调试模式运行程序

现在让我们以调试模式启动程序。

由于在运行和调试程序时需要传递参数,请将它们添加到 运行/调试配置中。

  1. 在装订区域中点击 运行 图标,然后选择 修改运行配置

    装订区域中的运行按钮
  2. 程序参数 字段中输入 1 2 3。 应用更改并关闭对话框。

    在程序参数字段中输入参数
  3. 点击 运行 按钮,位于 main 方法附近。 从菜单中选择 调试

    在装订区域中点击运行按钮后,会出现包含运行/调试选项的菜单

调试器会话启动,并使用给定的参数执行程序。

分析程序状态

调试会话启动后,程序会正常运行,直到遇到断点。 这时,IntelliJ IDEA 会暂停程序,突出显示程序挂起的那一行,并显示 调试 工具窗口

调试工具窗口出现。 设置断点的行被高亮显示

高亮显示的行尚未执行。 程序现在正在等待您的进一步指令。 挂起状态允许您检查保存程序状态的变量。

由于 findAverage 方法尚未被调用,其所有局部变量(如 结果 )尚未进入作用域,但您可以检查 args 数组的内容(argsmain 方法的作用域内)。 变量的内容会内联显示在 args 被使用的地方:

内联调试会在使用相应变量的那一行直接显示变量值

您还可以在 调试 工具窗口中的 线程与变量 选项卡上获取当前处于作用域内的所有变量信息。

变量值会显示在变量面板中

逐步执行程序

现在您已经熟悉了 调试 工具窗口,该进入 findAverage 方法,了解其内部发生了什么。

  1. 要步入方法,请点击 步入 按钮(位于 调试 工具窗口的工具栏)或按下 F7

    调试工具窗口顶部的步入按钮

    编辑器中的高亮显示移动到其他行,因为您将执行点向前推进了一步。

  2. 让我们继续单步执行,看看局部变量 结果 是如何声明的,以及它在循环的每次迭代中如何发生变化。 点击 步入 ,直到您看到变量 s 的值为 "3"

    内联调试可帮助我们获取变量值信息

    此时,变量 s 包含的值是 "3"。 它将被转换为 Integer ,并添加到 结果 中,后者当前的值为 3.0。 到目前为止没有错误。 求和计算正确。

  3. 再执行两步,就会来到 return 语句,您能看到遗漏之处。 您返回了 结果 (其值为 6.0 ),但没有将其除以输入的数量。 这就是程序输出不正确的原因。

    result 的值按原样返回,不会除以参数的数量
  4. 让我们更正该错误。 将 return result; 行替换为包含正确计算公式的代码:

    return result / input.length;

停止调试会话并重新运行程序

为检查程序是否正常工作,先停止调试会话并重新运行程序。

  1. 调试 工具窗口的工具栏中,点击 停止 ,或按下 Ctrl+F2

    使用调试工具窗口左侧的停止按钮停止调试会话
  2. 点击 运行 按钮,位于 main 方法附近。 从菜单中选择 运行

    在装订区域中点击运行按钮后,会出现包含运行/调试选项的菜单
  3. 请验证程序现在是否正常运行。

    程序现在输出 2.0。

总结

通过本教程,您已经学会了如何:

  • 设置断点检查代码

  • 以调试模式运行程序

  • 使用调试器分析程序状态

  • 逐步执行程序代码以查找错误原因

后续步骤

您可以通过这些教程了解如何在 IntelliJ IDEA 中完成其他任务:

完整教程列表请参阅 IntelliJ IDEA 教程

2026年 3月 24日