WebStorm 2025.3 Help

检查挂起的程序

调试器会话 启动后, 调试工具窗口会出现,程序会正常运行,直到遇到 断点或您手动 暂停程序。

之后,程序将被挂起,允许您检查其当前状态、控制其进一步执行并在运行时测试各种场景。

检查调用栈

当程序被挂起时,将在 窗格中显示将您带到此点的 调用栈

帧选项卡

当您调试多进程 Node.js 应用程序或 Service Workers 时,您可以在线程之间切换。 窗格显示所选线程的调用栈。 从 多进程调试调试 Workers中了解更多信息。

在线程之间切换

在其他情况下,当只有一个线程时, 窗格仍会在 线程 字段中显示 主线程

单线程应用程序显示主线程

帧对应于活动的方法或函数调用。 它存储了被调用方法或函数的局部变量、其参数以及使表达式求值成为可能的代码上下文。

每次调用 方法 时,都会在栈顶新增一个帧。 当 方法 的执行完成时,相应的帧将从堆栈中移除(最后一个进,最先一个出)。

检查帧有助于您理解为什么将特定参数传递给方法或函数,以及调用时调用者的状态。

默认情况下,WebStorm 会隐藏对应框架和库调用的帧。

显示来自库的帧

  1. 要显示隐藏的框架,请按右上角的 显示所有框架 切换按钮 显示库中的帧按钮 ,该按钮位于 面板中。

  2. 要隐藏库帧,请释放 在库中隐藏帧 切换按钮 隐藏库中的帧按钮

    库帧已隐藏,切换显示所有帧按钮
    库帧已显示,切换隐藏库帧按钮

复制堆栈到剪贴板

  • 要复制当前线程的调用堆栈,请右键点击 选项卡上的任意位置,然后选择 复制堆栈

检查/更新变量

变量 选项卡显示所选 帧/线程中的变量列表。 检查变量可以帮助您理解程序为何以某种方式运行。

变量选项卡显示当前执行点可见的变量

每个变量左侧的图标表示其类型。

复制变量

在检查变量时,您可能需要复制变量名称或值以粘贴到其他地方或将其与另一个变量进行 比较

  • 要复制变量的名称,请右键点击变量并选择 复制名称

  • 要复制变量所持有的值,请右键点击变量并选择 复制值 Ctrl+C。 对于 String 以外的类型,将复制 toString 表示形式。

与剪贴板比较变量

将变量值与其他值进行比较,请使用 与剪贴板比较值 选项。 这很有用,例如,当一个变量包含一个长字符串时,您需要将其与另一个长字符串进行比较。

  1. 将您想要比较的内容复制,例如,从一个文本文件中。

  2. 变量 选项卡中,右键点击一个变量并选择 与剪贴板比较值

  3. 在打开的差异查看器中检查差异。 如需了解更多关于 差异查看器 的信息,请参阅 比较文件和文件夹

在专用对话框中查看变量

WebStorm 允许您在专用对话框中检查变量。 这在您需要跟踪某个变量(或它所持有引用的对象)并且同时能够在帧和线程之间导航时非常有用。

  • 右键点击变量或监视并选择 检查

    检查对话框

设置变量值

如果您想测试程序在特定数据下的行为或在运行时更改其流程,可以通过更改变量值来实现。

  1. 选择一个变量并按 F2。 或者,从上下文菜单中选择 设置值

  2. 请输入变量的值然后按 Enter

    在变量名称右侧的字段中输入新值

instance="rm"/>

您可以从 变量 窗格导航到声明。

  • 要导航到变量声明的代码位置,请右键点击变量并选择 跳转到源 F4

  • 要导航到变量类型的类声明,请右键点击该变量,然后选择 跳转到类型源 Shift+F4

在变量视图中显示 getter 和 setter 函数

默认情况下, gettersetter 函数是隐藏的。

关闭显示 Getter 和 Setter
  • 要在 变量 视图中显示它们,请点击工具栏上的 更多图标 ,选择 调试器设置 ,然后选择 显示 getter 和 setter 函数.

    打开显示 Getter 和 Setter

计算表达式

WebStorm 允许您在调试会话中评估表达式,以获取有关程序状态的更多详细信息或在运行时测试各种执行场景。

此功能仅在程序在命中断点后暂停(而非 暂停 )时有效。

如果表达式中调用的方法内有断点,它们将被忽略。

在编辑器中评估一个简单表达式

要快速评估表达式,请在编辑器中指向它。 请注意,方法调用无法以这种方式评估。

  1. 指向您要计算的表达式。 表达式的结果显示在工具提示中。

    值提示
  2. 要查看子元素,请点击。

    带子组的值提示

如果您觉得数值工具提示干扰到了您的操作,您可以增加延迟时间或完全禁用它们。 为此,请在 设置 对话框(Ctrl+Alt+S )中,转到 构建、执行、部署 | 调试器 | 数据视图 并根据您的偏好设置 显示值提示值工具提示延迟 选项。

在编辑器中评估复杂表达式

如果您想在代码中评估涉及方法调用的表达式或指示要评估的表达式的特定部分,请使用 对表达式快速求值 选项。

  • 选择表达式并按 Ctrl+Alt+F8 ,或点击浮动工具栏中出现的 快速计算表达式图标

    值工具提示出现
  • 或者,转到 运行 | 调试操作 | 快速计算表达式 ,或按住 Alt 并点击所选内容。

  • 要将调试操作添加到浮动工具栏,请点击 更多图标 ,选择 自定义工具栏 ,在打开的对话框中点击 添加 ,然后选择所需的操作。

    自定义浮动工具栏

您可以配置 对表达式快速求值 使其只在选择一段代码时运行(无需使用菜单/快捷键)。 启用此选项时请谨慎操作,因为您可能会意外调用方法。

选中代码时评估表达式

  • 前往 设置 | 构建、执行、部署 | 调试器 | 数据视图 并设置 在代码选择上显示值提示 选项。

计算任意表达式

评估任意表达式是最灵活的评估选项。 它允许您评估任何自定义代码,只要它在当前帧的上下文中。 使用它,您可以评估声明、方法调用、匿名类、箭头函数、循环等。

  1. 要评估任意表达式,请在 对表达式求值 字段中输入它,然后在 变量 窗格中按 Enter

    在变量选项卡中的表达式
  2. 结果显示在下面。 您还可以通过点击表达式字段右侧的 将表达式添加到 watches

    变量选项卡中表达式的结果

如果您想评估长代码块,您可能需要为此使用专用对话框:

  1. 如果您想从当前在您面前的某个表达式或变量开始(例如,在编辑器或 变量 窗格上),请选择它。

  2. 前往 运行 | 调试操作 | 计算表达式 Alt+F8 或从上下文菜单中选择 对表达式求值。 快捷键可能在 Ubuntu 上无法使用(为正确操作, 调整快捷键配置)。

    选择要从中开始的表达式
  3. 求值 对话框中,修改所选表达式或在 表达式 字段中输入一个新的。 点击 展开 Shift+Enter 以修改多行代码片段。

    表达式输入在代码片段字段中:调整字段大小
  4. 点击 求值Ctrl+Enter 以进入多行模式)。 表达式结果显示在 结果 字段中。

    表达式的结果取自返回语句。 当没有 return 语句时,结果取自代码的最后一行(甚至不必是表达式:单个字面量也可以)。 当没有有效的行可取值时,结果是 undefined。 如果无法计算指定表达式, 结果 字段将指示原因。

    表达式结果已计算

求值 对话框是非模态的,因此您可以将焦点切换回编辑器以复制其他变量和表达式。 您还可以打开多个 求值 对话框。

内联查看值

WebStorm 在变量使用的旁边显示其值。

变量值显示在它们使用的行上

一旦变量值更改,内联视图将会更新为新值并更改其颜色。

变量的内联值随每一步骤而变化

如果一行包含对对象的引用,您可以直接在编辑器中检查其字段。 在此弹出窗口中,您还可以 更改变量值添加内联监视

内联调试器提示

默认情况下,内联视图是启用的。 要关闭此功能,请在 设置 对话框(Ctrl+Alt+S )中,转到 构建、执行、部署 | 调试器 | 数据视图 并禁用 内联显示值 选项。

添加内联监视

如果您希望某个表达式的结果显示在特定的行上,您可以为此设置一个内联 watch。 内联监视是持久的,并且在会话重启后仍然保持活动状态。

  1. 点击指向您想跟踪其字段的对象的内联提示。

  2. 在弹出窗口中,选择该字段并点击 添加为内联监视

    添加内联监视选项
  3. 如有需要,微调 watch。 您可以使用任何有效的表达式作为监视。

    设置内联监视

您在编辑器中设置的内联监视也会显示在 内联监视 下,位于 调试 工具窗口的变量窗格中:

调试工具窗口中的内联监视

要删除行内监视,请将鼠标悬停在监视上,然后点击旁边的叉号。

可视化 JSON 和 XML

当您展开包含 JSON 或 XML 的 内联值评估字符串表达式时,WebStorm 会为您提供数据的结构化和格式化视图。

这使您可以使用编辑器功能,例如 代码折叠扩展或缩小选择 ,以便处理子树并在大型对象中方便地导航。

使用预览弹出窗口中的选项卡在结构化视图和原始视图之间切换:

%alt

监视

如果您想跟踪某个变量或更复杂表达式的结果,请为此变量或表达式设置监视。 当您需要计算未定期显示在变量列表中的内容,或固定某些实例变量以消除每次 单步后展开树的需要时,这非常有用。

此功能仅在程序在命中断点后暂停(而非 暂停 )时有效。

在所选帧的上下文中评估 Watches。 监视在上下文之外或编译失败时无法评估。 如果是这种情况,手表将标有错误图标 错误图标

默认情况下,监视会与变量一起显示在 变量 窗格中。 要隐藏/显示 监视 窗格,请使用 分离 watches 选项,该选项位于 布局设置 恢复布局按钮 菜单中。

添加监视

根据您想要跟踪的表达式:

  • 对于编辑器中的表达式——选择表达式,然后点击浮动工具栏上出现的 添加到监视 图标 。 或者,将表达式拖动到 变量 选项卡。

    浮动工具栏中的 Add to Watches 按钮
  • 对于当前上下文中的元素——右键点击 变量 选项卡中的变量,然后从菜单中选择 添加到监视

    从当前上下文添加监视
  • 对于任意表达式——在 变量 选项卡的顶部部分输入表达式,然后点击 添加到监视

    监视表达式

    在您将一个变量/表达式添加到 监视 之后,它会保留在那里,并在每个 步骤中进行评估,为您提供当前上下文中的结果。

    评估监视的结果

编辑监视

  • 右键点击所需的监视器,然后选择 编辑

复制监视

  1. 选择您想要复制的监视。

  2. 点击 复制监视 “复制监视”按钮 ,位于 变量 窗格中,或按 Ctrl+D

更改监视的顺序

为了方便起见,您可以更改监视在 变量/监视 窗格中显示的顺序。

  • 使用 变量/监视 窗格上的 上移监视/下移监视 按钮或 Ctrl+UpCtrl+Down 键盘快捷键。

删除监视

  • 要移除单个监视,请右键点击并选择 移除监视。 或者,在 变量/监视 窗格中选择监视并按 Delete

  • 要移除所有监视,请右键点击 变量/监视 窗格上的任意位置,然后选择 移除所有监视

监视允许执行与变量相同的操作。 例如,您可以 在专用对话框中查看它们 ,或使用它们 导航到源代码

监视是您项目的一部分。 这意味着您可以停止并重新运行调试会话而不会有丢失它们的风险。

暂停和恢复监视

有时,监视可能依赖于本地上下文或涉及大量计算,使其在某些步骤中难以评估。 在这种情况下,您可以暂停监视并按需评估。

  • 要暂停监视,请右键点击它并选择 暂停监视

    暂停监视
  • 要恢复监视,请右键点击它并选择 继续监视

    恢复暂停的监视
  • 要对暂停的监视执行一次性评估,请点击监视附近的 求值

    计算暂停的监视

执行点

返回当前执行点

检查程序状态涉及在代码中导航,您经常需要返回到程序挂起的位置。

请执行以下操作之一:

  • 在主菜单中,进入 运行(U)| 调试操作|显示执行点.

  • 按下 Alt+F10

  • 调试 工具窗口的单步执行工具栏上点击 更多 按钮 ,并在打开的上下文菜单中选择 显示执行点按钮显示执行点

    显示执行点选项

当前的执行点用蓝色线条表示。 此行代码尚未执行。

指示当前执行点的蓝线
最后修改日期: 2025年 12月 8日