IntelliJ IDEA 2025.1 Help

调试代码

IntelliJ IDEA 提供了一个 Java 代码调试器。 根据 已安装/启用的插件 ,您也可以调试用其他语言编写的代码。

调试会话中,您会启动带有调试器附加的程序。 调试器的目的是干扰程序执行,并向您提供后台发生情况的信息。 这有助于检测和修复程序中的错误。

调试之前

  1. 确保 生成调试信息 选项已开启(默认设置) 设置 | 构建、执行、部署 | 编译器 | Java 编译器

    此设置并非调试所必需,但我们建议保持启用状态。 禁用它可以节省磁盘空间,但会牺牲一些调试器功能。

  2. 设置 | 构建、执行、部署 | 调试器 中配置常见的 调试属性和行为

    如果您是调试新手,开箱即用的配置将适合您。 每个调试器功能主题提供参考,并在适用时解释相关设置。 如果您是高级用户并在寻找某些特定属性,请参阅 Debugger 参考部分。

  3. 如果您打算使用自定义的 运行/调试配置 ,请定义一个。 如果需要将一些参数传递给程序或在启动前执行一些特殊活动,这是必须的。 有关设置运行/调试配置的更多信息,请参阅 运行/调试配置 部分。 大多数情况下,您不需要这个来调试不期望参数或没有任何特殊要求的简单程序。

一般调试程序

没有适用于所有应用程序的万能调试程序。 根据实际需求,您可能需要以不同的顺序使用不同的操作。 此主题提供了一般指南,代表了典型的调试步骤。 有关如何及何时使用特定功能的详细信息已在相应主题中提供。

  1. 定义程序需要停止的位置。 这是使用 断点完成的。 断点 是特殊标记,表示调试器需要介入并冻结程序状态的位置和条件。 由调试器冻结的程序称为 suspended

    使用 手动挂起程序替代断点的另一种方法,但是这种方法对调试器功能施加了一些限制,并且不能精确控制何时挂起程序。

  2. 以调试模式运行您的程序。 这可能是一个常规应用程序、单元测试或任何其他可执行代码, 只要相应的运行配置支持调试即可。

    与程序的常规运行类似,您可以同时运行多个调试会话。

  3. 程序暂停后,使用调试器来 获取有关程序状态的信息以及它在运行过程中如何变化。

    调试器为您提供有关变量值、线程当前状态、当前堆中对象分解等信息。 它还允许您通过抛出异常(例如,检查它们如何处理)或在程序执行过程中间运行任意代码,在各种条件下测试您的程序。

    虽然这些工具让您可以在特定时刻检查程序状态,但 stepping功能为您提供了对程序逐步执行的控制。 通过结合这些工具,您可以推断出错误的来源,并测试程序的鲁棒性。

  4. 当您确定需要修复的内容时,您可以在不断开会话的情况下进行修复。 为此,IntelliJ IDEA 提供了一个功能,使您可以实时调整并重新加载代码片段。 这种方法在 重新加载修改的类 主题中有介绍。

调试器刷新

如果您已经熟悉 IntelliJ IDEA 调试器并想了解各种有用的功能和方法,可以观看调试器复习视频系列。

调试器基础知识涵盖了诸如行断点、单步执行、控制调试会话、监视、表达式求值和断点条件等基本主题。

调试器高级篇涵盖断点类型和设置、高级单步执行、远程调试、渲染器等内容。

Debugger Professional 涵盖了高级主题,例如使用 HotSwap、调试标签、异步堆栈跟踪和调试反编译代码。

最后修改日期: 2025年 4月 24日