PhpStorm 2025.2 Help

逐步执行程序

逐步调试是控制程序逐步执行的过程。

在您 启动调试会话并 暂停程序之后,PhpStorm 为您提供了一组单步操作。 选择特定的单步操作取决于您的策略,例如,您是否需要直接跳到下一行,或者也需要 检查中间的方法调用。

单步操作按钮位于 调试 工具窗口 工具栏上。

调试工具窗口中的单步执行按钮

逐步跳过

逐步执行当前代码行,并转到下一行,即使高亮行中有方法调用。 方法的实现被跳过,您将直接移动到调用者方法的下一行。

  • 点击 步过(O) 按钮 “单步执行”按钮 或按 F8

如果跳过的方法中有断点,调试器将停在断点处。 要跳过执行过程中的任何断点,请使用 强制步过

逐步进入

进入方法以显示其内部发生的情况。 当您不确定方法是否返回正确结果时,请使用此选项。

  • 点击 步入(I) 按钮 单步调试按钮 或按 F7

如果一行中有多个方法调用,PhpStorm 会询问您要进入哪个方法。 此功能称为 智能步入

您可以配置 智能单步进入 使其在每次同一行有多个方法调用时自动使用。 或者,只有当您 明确这样做时才可以调用它。

某些脚本、方法和函数会被 逐步进入 跳过,因为您通常可能不需要调试它们。

  1. 设置 对话框 (Ctrl+Alt+S) 中,前往 构建、执行、部署 | 调试器 | 单步调试调试器。 单步调试 页打开。

  2. 要跳过所有库脚本,请选中 不要单步进入库脚本 复选框。

  3. 要禁止进入某些特定脚本,请选中 不要单步进入脚本 复选框,并使用工具栏按钮创建这些脚本的列表。

跳过某些 PHP 方法

  1. 设置 对话框 (Ctrl+Alt+S) 中,前往 PHP | 调试 | 单步过滤器步骤过滤器 页打开。

  2. 选中与相关方法类型对应的复选框: 魔术方法构造函数

  3. 如有必要,使用 "添加"按钮 工具栏按钮手动将特定方法添加到 跳过的方法 列表中。

智能逐步进入

智能步入 在一行中有多个方法调用时非常有用,并且您希望具体指定要进入的方法。 此功能允许您选择您感兴趣的方法调用。

  1. 智能单步进入 菜单中选择 或按下 Shift+F7

  2. 点击该方法。 或者,使用箭头键或 Tab 键选择方法,然后按 EnterF7 确认选择。

    智能步入允许您决定进入哪个方法

逐步退出

跳出当前方法并将您带到调用方法。

  • 点击 步出(T) 按钮 单步跳出按钮 或按 Shift+F8

运行到光标处

直到光标位置为止继续执行。

  1. 将文本光标放在您希望程序暂停的行。

  2. 运行至光标 菜单中选择 或按下 Alt+F9

此外,您可以通过将鼠标悬停在行上并单击 运行到光标处(C) 图标来 运行到光标处(C)

单击即可运行到光标

您可以配置在 运行到光标处(C) 中点击行号时是否希望 设置 | 构建、执行、部署 | 调试器 工作。

要跳过任何断点,请使用 强制运行到光标

强制单步执行

方法的步骤即使该方法被常规 单步进入 跳过

  • 请前往 运行 | 调试操作 | 强制单步进入 或按 Alt+Shift+F7

static void count(int to) { for (int i = 0; i < to; i++) { // the program is suspended here System.out.println(i); } System.out.println("Complete!"); }
public void println(String x) { // Force Step Into enters the implementation of PrintStream.println() if (getClass() == PrintStream.class) { writeln(String.valueOf(x)); } else { synchronized (this) { print(x); newLine(); } } }

强制运行到光标

继续执行直到到达插入符号的位置。 所有中途的断点都将被忽略。

  1. 将文本光标放在您希望程序暂停的行。

  2. 强制运行至光标 菜单中选择 或按下 Ctrl+Alt+F9

强制步过

单步跳过当前代码行并转到下一行,即使当前行中有方法调用。 如果在被调用方法中有断点,它们会被忽略。

  • 强制单步跳过 菜单中选择 或按下 Alt+Shift+F8

从会话中分离

停止调试器,但脚本仍在运行且未附加调试器。 此操作适用于 Xdebug 3.0 及更高版本。

  • 转到 运行 | 调试操作 | 从会话分离

    或者,单击调试窗口工具栏上的 并选择 从会话中分离

提高单步执行速度

调试器功能会消耗资源,并可能影响单步性能。 如果性能不理想,请按照本章提供的建议进行优化。

  • 如果您的项目不需要,请禁用或最小化使用以下功能:

    • 方法断点和字段观察点

    • 如果用户定义常量的数量较多,逐步执行性能可能会下降。 您可以通过单击 显示用户定义常量按钮 工具栏上的 调试工具窗口 来禁用获取这些常量,从而提高逐步执行性能。 常量 节点将被隐藏。

  • 简化 断点和观察点 的条件,尤其是那些经常触发的。

  • 在调试会话期间,切换到包含更少元素的视图。

当断点被触发或程序 暂停时, 调试工具窗口会变为活动状态,并使您能够控制程序的执行。 为此,您可以使用 运行(U) 菜单命令,或 调试 工具窗口中 逐步执行工具栏上的图标。

每个逐步执行操作都会将 执行点推进到下一个执行位置,具体取决于您选择的操作。

禁止逐步进入

您可以创建一个脚本、方法和函数的列表,以便调试器在逐步执行程序时跳过它们。

  1. 设置 对话框(Ctrl+Alt+S )中,单击 调试器 下的 构建、执行、部署 ,然后单击 单步调试调试器。 单步调试 页打开。

  2. 要跳过所有库脚本,请选中 不要单步进入库脚本 复选框。

  3. 要禁止进入某些特定脚本,请选中 不要单步进入脚本 复选框,并使用工具栏按钮创建这些脚本的列表。

跳过某些 PHP 方法

  1. 设置 对话框(Ctrl+Alt+S )中,转到 PHP ,然后单击 步骤过滤器 下的 Debug步骤过滤器 页打开。

  2. 选中与相关方法类型对应的复选框: 魔术方法构造函数

  3. 如有必要,使用 "添加"按钮 工具栏按钮将特定方法添加到 跳过的方法 列表中。

提示与技巧

  • 强制逐步进入命令 强制逐步进入按钮 使您能够进入一个不应进入的类的方法。

    禁止进入的类在 设置对话框的 调试器。 单步调试 页面中指定。

  • 强制逐步跳过命令 强制逐步跳过按钮 使您能够跳过方法调用并忽略途中断点。

  • 强制运行到光标命令 运行到光标按钮 使您能够跳到光标位置并忽略途中现有的断点。

最后修改日期: 2025年 9月 26日