WebStorm 2025.2 Help

断点

断点是特殊标记,可在指定位置暂停程序执行。 这使您可以检查程序状态和行为。 断点可以很简单,例如在到达某一代码行时暂停程序,或包含更复杂的逻辑,例如根据 其他条件进行检查、 写入日志等。

断点

设置后,除 临时断点外,断点会保留在您的项目中,直到您显式将其移除。

断点类型

WebStorm 中支持以下类型的断点:

  • 行断点 :在程序执行到设置断点的代码行时暂停程序。 此类断点可以设置在任何可执行的代码行上。

  • 异常断点 :在指定的 JavaScript 异常被抛出时暂停程序。 与堆栈跟踪不同,在异常位置暂停应用程序可使您在上下文和数据仍可用时进行检查。

    异常断点

设置断点

设置行断点

  • 单击目标可执行代码行的行号栏以设置断点。 或者,将光标移动到该行并按下 Ctrl+F8

    设置行断点
  • 要设置临时行断点,请按 Ctrl+Alt+Shift+F8。 或者,按住 Alt 并单击行号栏。 该断点在被命中后将从项目中移除。

  • 对于箭头函数,您可以在一行中设置多个断点。 单击行号栏时,WebStorm 会显示可设置断点的位置提示。 单击相关提示。

    在包含箭头函数的行中设置多个断点

设置异常断点

  1. Ctrl+Shift+F8 或从主菜单中选择 运行|查看断点

  2. 断点 对话框中,按 Alt+Insert 或单击 添加按钮 ,然后选择 JavaScript 异常断点

    创建 JavaScrupt 异常断点
  3. 添加异常断点 对话框中,指定来自某个库或项目中的异常类。

    添加 ReferenceError 异常断点

    如需让调试器在每次抛出异常时都停止,请选中 任意异常 复选框。

    异常断点:任意断点

管理断点

移除断点

  • 对于非异常断点:在边距中单击该断点。

  • 对于所有断点:在主菜单中转到 运行|查看断点 Ctrl+Shift+F8 ,选择该断点,然后单击 移除 或按 Delete

为避免意外删除断点及其参数,您可以选择通过将断点拖动到编辑器中或单击中键的方式移除断点。 为此,请转到 设置|构建、执行、部署|调试器 并选择 拖动到编辑器或使用中键点击。 此时单击断点会 启用或禁用该断点。

静音断点

如果您暂时不需要在断点处停止,您可以 静音这些断点。 这使您可以在不离开调试器会话的情况下恢复程序的正常运行。 之后,您可以取消断点静音并继续调试。

  • 调试 工具窗口的工具栏中单击 静音断点 按钮 静音断点按钮

启用/禁用断点

当您移除断点时,其 内部配置将丢失。 如需在不丢失参数的情况下临时关闭某个断点,可以 禁用它:

  • 对于非异常断点:右键单击并按需设置 已启用 选项。 或者,按住 Alt 的同时点击断点,或使用鼠标中键点击断点也可实现此操作。 对于鼠标中键,请确保未将删除断点的操作 分配给它

  • 对于所有断点:单击 运行|查看断点 Ctrl+Shift+F8 并在列表中选中或取消选中该断点。

移动/复制断点

  • 如需移动断点,请将其拖动到其他行。

  • 如需复制断点,请按住 Ctrl 并将断点拖动到另一行。 这将在目标位置创建一个具有相同参数的断点。

查看所有设置的断点

您可以在 书签工具窗口中查看所有断点的列表。 当您在代码中添加断点时,它们会自动添加到该工具窗口的专用列表中。

  • 在主菜单中,前往 视图| 工具窗口| 书签 或按 Alt+2 并展开 断点 列表。

书签工具窗口

分组断点

您可以将断点组织到一组中,例如在处理特定问题时对断点进行标记。

  • 断点 对话框 Ctrl+Shift+F8 中,选择要添加到组中的断点,然后从菜单中选择 移动到组

配置断点属性

根据断点类型,您可以配置其他属性,以便根据特定需求调整其行为。 最常用选项可通过 意图操作访问。

  • 基本断点属性可通过意图操作访问。 将插入符号置于包含断点的行,然后按 Alt+Enter

    断点意图操作
  • 如需访问完整属性列表,请右键单击断点然后单击 更多 ,或按 Ctrl+Shift+F8

    断点属性:上下文菜单

意图操作参考

意图操作

描述

移除断点

移除选中行中的断点。

禁用断点

禁用选中行中的断点。

编辑断点

打开一个对话框,显示最常用的断点 属性。 如需查看更多属性,请单击 更多 或按 Ctrl+Shift+F8

断点属性参考

本章节提供有关断点可用功能的信息。

已启用

清除复选框可暂时禁用断点而不将其从项目中移除。 禁用的断点在 单步执行时会被跳过。

您可以配置 WebStorm 为单击以启用/禁用断点,而不是将其移除。 为此,请转到 设置| 构建、执行、部署|调试器 并将 移除断点 选项设置为 拖动到编辑器中或使用鼠标中键点击

挂起

指定在断点命中时是否暂停程序执行。

非暂停断点适用于记录某些表达式但不暂停程序的场景(例如,查看某方法被调用的次数),或创建一个命中后启用 相关断点触发断点。

条件

选中此复选框,以仅在满足特定条件时让调试器在断点处停止。 通过 JavaScript 布尔表达式定义条件,该表达式需计算为 truefalse ,例如 fruit == "grapes"。 该表达式必须在您设置断点的行上有效。

您可以输入多行表达式,例如:

typeof scope === 'string' || (!Array.isArray(scope) && typeof scope === 'object' && scope !== null)

可选地,指定当满足条件且调试器在断点处停止时,您希望 WebStorm 执行的操作,详见下文 日志

条件断点:通过布尔表达式定义条件

当调试器执行到包含条件断点的行时,将计算指定的布尔表达式。 如果表达式计算结果为 true ,程序将被挂起。

命中条件断点

如果在 日志 区域选择了任何 日志记录操作 ,则 控制台 选项卡将显示相应的消息:

命中条件断点,并记入 Console 选项卡中

表达式的结果取自 return 语句。 当没有 return 语句时,结果取自代码的最后一行。

在求值表达式时,请确保注意其可能的副作用,因为这些副作用可能会影响程序的行为和结果。

日志选项

命中断点时,可以将以下内容记录到控制台:

  • “断点命中”消息(M) :类似 已在 ocean.Whale.main(Whale.java:5) 处命中断点 的日志消息。

  • 堆栈跟踪(K) :当前帧的堆栈跟踪信息。 如果您想要查看导致当前状态的执行路径而不中断程序执行,则此操作非常有用。

  • 求值并记录(E) :任意表达式的结果,例如 "Initializing"users.size()

    表达式的结果取自 return 语句。 当没有 return 语句时,结果取自代码的最后一行,该行不一定必须是表达式:文本字面量同样有效。 这可以用于生成自定义消息或在程序执行过程中跟踪某些值。

    在求值表达式时,请确保注意其可能的副作用,因为这些副作用可能会影响程序的行为和结果。

设置日志断点

  1. (可选)如果您希望记录的表达式在编辑器中已展开, 请选中该表达式。

  2. 按住 Shift 并单击标尺区域。

命中后移除

指定是否在断点被命中一次后将其从项目中移除。

在命中以下断点之前禁用

在命中以下断点前禁用 框中选择某个断点后,该断点将成为当前断点的触发器。 这将 禁用当前断点,直到所指定的断点被命中为止。

您也可以选择是否在触发一次后再次禁用断点,或保持其启用状态。

此选项适用于仅在某些条件或动作下需要挂起程序时。 在这种情况下,触发器断点通常不需要中断程序执行并被设置为 不挂起

断点状态

断点可能具有以下状态:

状态

说明

已验证

启动调试器会话后,调试器会检查是否可以在技术上在断点位置挂起程序。 如果可以,调试器会将断点标记为 已验证

警告

如果在技术上可以在断点位置挂起程序,但存在相关问题,则调试器会将断点状态设置为 警告。 例如,在某些方法的实现中无法挂起程序时,可能会出现此情况。

无效

如果在技术上无法在断点位置挂起程序,调试器会将其标记为 无效。 这通常是因为该行上没有可执行代码。

非活动/依赖

当断点被 配置为在其他断点被命中之前保持禁用状态 ,且此条件尚未满足时,该断点将被标记为非活动/依赖状态。

已静音

所有断点暂时都处于非活动状态,因为它们已被 静音

已禁用

此断点暂时处于非活动状态,因为它已被 禁用

不挂起

此断点已设置 挂起策略为不在命中时挂起程序执行。

断点图标

根据断点的 类型状态 ,系统会使用以下图标进行标记:

异常

常规

行断点

异常断点

已禁用

已禁用的行断点

已禁用的异常断点

已验证

已验证的行断点

已静音

已静音的行断点

非活动/依赖

无效/依赖的行断点

静音禁用

已静音的已禁用行断点

不挂起

非挂起的行断点

已验证不挂起

已验证的非挂起的行断点

效率提示

使用断点进行 "printf" 调试

请使用 不挂起 日志断点(在其他调试器中有时也称为监视点)来代替在代码中插入 print 语句。 这提供了一种更灵活且更集中式的方式来处理调试日志消息。

更快速地设置日志断点

要设置 不挂起 日志断点,请按住 Shift 并单击标尺区域。 这不会挂起程序执行,而是会记录一个类似 已在 ocean.Whale.main(Whale.java:5) 处命中断点 的消息。 如果您希望记录显示在编辑器中的某个表达式,请在按住 Shift 并单击标尺区域之前选中它。

添加断点描述

如果项目中有许多断点,您可以为断点添加描述以方便查找。 为此,请在 断点 对话框中右键单击一个断点,按下 Ctrl+Shift+F8 并从菜单中选择 编辑描述。 现在,当您开始输入断点名称时,该断点将获取焦点。

跳转至源码

要从 断点 对话框跳转至设置所选断点的代码行,请按 F4

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