断点相关方法

调试引擎 (DE)必须支持设置断点。 Visual Studio 调试支持断点的以下类型:

  • 绑定

    请求通过 UI 并成功绑定到指定的代码位置

  • 挂起

    请求通过 UI,但不绑定到实际命令

讨论

例如,在中,如果命令未加载时,挂起的断点发生。 在加载代码时,等待断点请尝试将建议代码的位置,即,插入到代码中中断命令。 事件发送给会话调试管理器 (SDM)指示成功的绑定或通知具有约束错误。

挂起断点还管理自己内部列表对应的绑定断点。 一个等待断点在代码可能导致许多断点插入。 调试 UI 的 Visual Studio 显示挂起的断点及其相应的绑定断点树视图。

为 " 挂起 " 断点的创建和使用需要 IDebugEngine2:: CreatePendingBreakpoint 方案和 IDebugPendingBreakpoint2 接口下列方法的实现。

方法

说明

CanBind

确定指定等待断点是否可以绑定到代码位置。

Bind

绑定指定等待导出到一个或多个代码位置。

GetState

获取挂起的断点的状态。

GetBreakpointRequest

获取断点请求用于创建挂起的断点。

启用

切换挂起的断点的启用状态。

EnumBoundBreakpoints

枚举从 " 挂起的断点绑定的所有断点。

EnumErrorBreakpoints

枚举由挂起的断点的所有错误断点。

Delete

从中删除必须挂起的断点和所有断点。

若要枚举绑定断点和错误断点,必须执行 IEnumDebugBoundBreakpoints2 所有方法和 IEnumDebugErrorBreakpoints2

等待绑定到代码位置的断点需要以下 IDebugBoundBreakpoint2 方法的实现。

方法

说明

GetPendingBreakpoint

获取包含断点的挂起的断点。

GetState

获取绑定断点的状态。

GetBreakpointResolution

获取描述断点的断点解析。

启用

启用或禁用断点。

Delete

删除绑定断点。

分辨率和请求信息需要以下 IDebugBreakpointResolution2 方法的实现。

方法

说明

GetBreakpointType

获取解析表示断点的类型。

GetResolutionInfo

获取描述断点的断点解析信息。

可能会在绑定期间错误的解决方法需要以下 IDebugErrorBreakpoint2 方法的实现。

方法

说明

GetPendingBreakpoint

获取包含错误断点的挂起的断点。

GetBreakpointResolution

获取描述错误断点的断点错误解析。

可能发生在同时绑定期间错误的解决方法要求 IDebugErrorBreakpointResolution2以下方法。

方法

说明

GetBreakpointType

获取断点的类型。

GetResolutionInfo

获取断点的分辨率信息。

查看断点的源代码需要执行 IDebugStackFrame2:: GetDocumentContext 方法和/或 IDebugStackFrame2:: GetCodeContext方法。

请参见

概念

执行控制和状态计算