DataSpell 2025.2 Help

设置断点

断点是能够使程序在特定点暂停执行的特殊标记。 这使您能够检查程序的状态和行为。 断点可以是简单的,例如,在达到某行代码时暂停程序,或者涉及更复杂的逻辑,例如检验 附加条件写入日志 等等。

一旦设置了断点,除非明确移除,否则它将一直保留在您的项目中, 临时断点除外。

断点类型

在 DataSpell 中有以下类型的断点:

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

  • Method breakpoints :程序在进入或退出指定方法或其实现之一时暂停,使您可以检查方法的进入/退出条件。

  • 字段监视点 :当指定字段被读取或写入时暂停程序。 这允许您对特定实例变量的交互做出反应。 例如,如果在一个复杂的过程中,您的某个字段的值明显错误,设置字段观察点可能有助于确定故障的起因。

  • 异常断点 :当抛出 Exception 或其子类时暂停程序。 在 DataSpell 中,您可以为 Python 异常设置断点。 它们在任何情况下都适用,不需要特定的源代码引用。

设置断点

设置行断点

  • 点击可执行代码行的装订区域,设置断点。 或者,将文本光标放在行上并按下 Ctrl+F8

    行断点

设置方法断点

  • 点击方法声明行的装订区域。 或者,将文本光标置于方法声明处并按 Ctrl+F8

  • 要在调用类的默认构造函数时挂起程序,请点击声明类所在行的标记栏。 或者,将文本光标放在类声明处并按 Ctrl+F8

设置异常断点

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

  2. 断点 对话框中,按 Alt+Insert 或单击 "添加"按钮 ,并选择 Python 异常断点

管理断点

移除断点

  • 对于非异常断点:点击装订区域的断点。

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

为了避免意外删除断点及其参数,您可以选择通过将它们拖到编辑器或点击鼠标中键来删除断点。 为此,请前往 设置 | 构建、执行、部署 | 调试器 并选择 拖动到编辑器或使用中键单击。 点击断点将 启用或禁用它。

静音断点

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

  • 点击 静音断点 按钮 静音断点按钮Debug 工具窗口的工具栏中。

启用/禁用断点

当您移除断点时,其 内部配置会丢失。 若要在不丢失断点参数的情况下暂时关闭单个断点,您可以 disable 它:

  • 对于非异常断点:右键点击并根据需要设置 已启用 选项。 或者,您也可以按住 Alt 单击断点,或使用鼠标中键单击断点来完成此操作。 对于鼠标中键,请确保未将移除断点的操作 分配给它

  • 对所有断点:点击 运行 | 查看断点 Ctrl+Shift+F8 ,然后在列表中选中/取消选中断点。

移动 / 复制断点

  • 要移动断点,请将其拖到另一行。

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

查看所有设置的断点

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

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

书签工具窗口

配置断点的属性

根据断点类型,您可以配置附加属性,从而使其操作符合特定需求。 最常用的选项通过 意图可用。

  • 要访问断点意图,请将文本光标放在有断点的行上,然后按 Alt+Enter。 在需要快速配置基本断点属性时,请使用此选项。

  • 要访问完整的属性列表,请右键点击断点并点击 更多 或按 Ctrl+Shift+F8

意图参考

意图

描述

移除断点

移除所选行的断点。

禁用断点

禁用 选定行的断点。

编辑断点

打开一个对话框,其中包含最常用的断点 属性。 更多属性,请点击 更多 或按 Ctrl+Shift+F8

断点属性参考

选项

描述

已启用

取消选中此复选框以暂时禁用断点,而不将其从项目中移除。 禁用的断点将在调试过程中被跳过。

挂起

选中复选框以在断点命中时暂停程序执行。 暂停应用程序很有用,如果您需要在某个点获取日志信息或计算表达式而不中断程序。 如果您需要创建一个 断点,以在命中时触发依赖断点,请选择不在该断点处暂停程序。

选择暂停策略:

  • 全部 :所有线程将被暂停

  • Thread :仅包含此断点的线程将被暂停。 如果您希望将 Thread 策略用作默认策略,请单击 设为默认 按钮。

条件

选择以指定命中断点的条件。 条件是一个 Python 布尔表达式。

此表达式必须在设置断点的行上有效,并且每次命中断点时都会进行评估。 如果评估结果为 true ,将执行选定的操作。

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

日志

选择是否将以下事件记录到控制台:

  • “断点已命中”消息 :当断点命中时,日志消息将显示在控制台输出中。

  • 堆栈跟踪 :当断点命中时,其堆栈跟踪将打印到控制台。

    如果您想检查哪些路径导致了这一点而不中断程序的执行,这将非常有用。

评估并记录

选择在断点命中时评估一个表达式,并在控制台输出中显示结果。

命中后移除

选择在断点命中后立即将其从项目中移除。

在断点命中前禁用

选择将触发当前断点的断点。 在该断点命中之前,当前断点将被禁用。 您还可以选择在命中后再次禁用它或保持启用状态。

断点状态

断点可能具有以下状态:

状态

描述

已验证

当您开始调试器会话后,调试器会检查是否技术上可以在断点处暂停程序。 如果是,则调试器将断点标记为 已验证

警告

如果技术上可以在断点处暂停程序,但存在相关问题,调试器会将断点状态设置为 warning。 例如,当无法在某个方法的某个实现处暂停程序时,可能会发生这种情况。

无效

如果在断点处技术上无法暂停程序,调试器会将其标记为 无效。 这经常发生是因为该行没有可执行代码。

非活动/依赖

当断点 配置为在另一个断点被触发前禁用时,它会被标记为非活动/依赖状态,并且此事件尚未发生。

静音

所有断点都已暂时失效,因为它们已被 静音

已禁用

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

非挂起

此断点的 挂起策略设置为命中时不挂起执行。

断点图标

根据它们的 类型状态 ,中断点会被标记以下图标:

折线图

方法

Exception

常规

行断点

方法断点

异常断点

已禁用

禁用行断点

禁用的方法断点

禁用异常断点

已验证

已验证行断点

验证方法断点

静音

静音行断点

静音方法断点

非活动/依赖

不活跃/从属行断点

非活跃/依赖的方法断点

静音已禁用

已禁用的行断点

静音 禁用 方法 断点

非挂起

非挂起行断点

非挂起方法断点

已验证的非挂起

已验证的非挂起行断点

已验证的非挂起方法断点

无效

无效断点

提高效率的提示

使用断点进行调试打印

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

更快速地设置日志断点

要设置一个 不断点 日志断点,请按住 Shift 并点击边栏。 这不会暂停程序执行,而是记录一条类似于 Breakpoint reached: threads.py:28 的消息。 如果您想记录编辑器中面前的某个表达式,请在按住 Shift 并点击装订线之前先选择它。

添加断点描述

如果您的项目中有许多断点,您可以为这些断点添加描述以便于搜索。 要执行此操作,请右键点击 断点 对话框 Ctrl+Shift+F8 中的一个断点,然后从菜单中选择 编辑说明。 现在当您开始输入断点名称时,它会获得焦点。

跳转到源

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

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