RustRover 2025.3 Help

断点

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

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

设置断点

  • 点击可执行代码行的装订区域,设置断点。 或者,将插入符号置于该行并按 Ctrl+F8

    行断点

管理断点

删除断点

  • 点击边距中的断点。

  • 或者,请转到 运行 | 查看断点 Ctrl+Shift+F8 主菜单中,选择断点,然后点击 移除 或按 Delete

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

静音断点

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

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

启用/禁用断点

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

  • 右键单击断点,并根据需要设置 已启用 选项。 或者,您也可以在按住 Alt 的同时点击断点,或使用鼠标中键点击断点。 对于鼠标中键,请检查未将删除断点操作 分配给它

  • 或者,点击 运行 | 查看断点 Ctrl+Shift+F8 ,然后在列表中选中或取消选中断点。

移动 / 复制断点

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

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

查看所有设置的断点

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

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

分组断点

您可以将断点组织到组中,例如,如果您需要标记出针对特定问题的断点。

  • 断点 对话框 Ctrl+Shift+F8 中,选择您想要放置在组中的断点,然后从菜单中选择 移动到组

配置断点的属性

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

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

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

意图参考

意图

描述

移除断点

移除所选行的断点。

禁用断点

禁用 选定行的断点。

编辑断点

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

断点属性参考

在本章中,您可以找到有关断点功能的信息。

已启用

取消选中此复选框以暂时禁用断点,而不将其从项目中移除。 禁用的断点将在单步执行期间被 跳过

您可以配置 RustRover 以通过点击启用/禁用断点,而不是完全移除它们。 要执行此操作,请转到 设置 | 构建、执行、部署 | 调试器 并将 移除断点 选项设置为 拖动到编辑器中或使用鼠标中键点击

仅使用文件名

选中此复选框时,RustRover 使用源文件的基本名称,而不是其绝对路径。 这更接近于您在调试器命令行界面中指定路径的方式。

在调试器无法解析绝对路径的情况下使用此选项:例如,程序是用 -fdebug-prefix-map 编译的,或者在构建二进制文件后源文件被移动到其他位置且缺少所需的路径映射。

断点将仅使用 GDB 或 LLDB 中的文件名设置。 这可能导致断点匹配到多个具有相同名称的文件,因此调试器将在所有这些位置停止。

挂起执行

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

非挂起断点在您需要记录某个表达式而不暂停程序时非常有用(例如,当您需要知道方法被调用的次数时)或在您需要创建一个 触发断点以在触发时启用 依赖断点

条件

该选项用于指定在每次命中断点时检查的条件。 如果条件计算结果为 true ,则执行所选操作。 否则,断点将被忽略。

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

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

日志选项

当断点被触发时,可将以下内容记录到控制台:

  • “断点命中”消息(M) :一条类似 Breakpoint reached 的日志消息。

  • 堆栈跟踪(K) :当前帧的堆栈跟踪。 如果您想在不中断程序执行的情况下检查导致此点的路径,这将非常有用。

  • 求值并记录(E) :任意表达式的结果。

    表达式的结果取自 return 语句。 当没有 return 语句时,结果取自代码的最后一行,这行代码不必是表达式:文字常量也适用。 这可以用来生成自定义消息或在程序执行时跟踪一些值。

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

设置日志断点

  1. (可选)如果您想要记录的表达式在编辑器中可见,请选中它。

  2. 按住 Shift 并点击边栏。

命中后移除

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

禁用直到命中以下断点

当在 在命中以下断点之前禁用 框中选择断点时,它会作为当前断点的触发器。 这 禁用当前断点,直到指定断点被触发。

您还可以选择是在发生这种情况后再次禁用它,还是保持启用状态。

此选项在您只需要在特定条件下或执行某些操作后挂起程序时很有用。 在这种情况下,触发断点通常不需要停止程序执行,并被设置为 非暂停状态

生产力提示

使用断点进行调试打印

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

更快速地设置日志断点

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

添加断点描述

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

跳转到源

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

最后修改日期: 2025年 12月 5日