断点控制方法

在源模式下) 时,可以按虚拟地址、模块和例程偏移量或源文件和行号 (指定断点的位置。 如果在没有偏移量的例程上放置断点,则输入该例程时将激活该断点。

有多种其他类型的断点:

  • 断点可以与某个线程相关联。

  • 断点可以在触发地址之前启用固定数量的传递。

  • 断点可以在触发时自动发出某些命令。

  • 可以在非可执行内存上设置断点,并watch读取或写入该位置。

如果要在用户模式下调试多个进程,则断点集合取决于当前进程。 若要查看或更改进程的断点,必须将进程选为当前进程。 有关当前进程的详细信息,请参阅 控制进程和线程

用于控制和显示断点的调试器命令

若要控制或显示断点,可以使用以下方法:

在 WinDbg 中,有几个用户界面元素有助于控制和显示断点。 请参阅 在 WinDbg (经典) 中设置断点

每个断点都有一个十进制数,称为与之关联的断点 ID。 此数字标识各种命令中的断点。

断点命令

可以在命中断点时自动执行的断点中包含命令。 例如,以下命令在 MyFunction+0x47 处中断,写入转储文件,然后继续执行。

0:000> bu MyFunction+0x47 ".dump c:\mydump.dmp; g" 

注意 如果要从内核调试器控制用户模式调试器,请不要在断点命令字符串中使用 g (Go) 。 串行接口可能无法跟上此命令的运行,并且你将无法重新进入 CDB。 有关这种情况的详细信息,请参阅 从内核调试器控制 User-Mode 调试器

断点数

在内核模式下,最多可以使用 32 个软件断点。 在用户模式下,可以使用任意数量的软件断点。

支持的处理器断点数取决于目标处理器体系结构。

条件断点

可以设置仅在特定条件下触发的断点。 有关这些断点类型的详细信息,请参阅 设置条件断点

不明确的断点

在版本 10.0.25310.1001 及更高版本的调试器引擎中,现在支持不明确的断点解析。 不明确的断点允许调试器在某些断点表达式解析到多个位置的情况下设置断点。 有关详细信息,请参阅 不明确的断点解析

请参阅

使用断点

断点语法

bp、bu、bm(设置断点)

无法解析的断点(bu 断点)