断点相关方法
调试引擎 (DE)必须支持设置断点。 Visual Studio 调试支持断点的以下类型:
绑定
请求通过 UI 并成功绑定到指定的代码位置
挂起
请求通过 UI,但不绑定到实际命令
讨论
例如,在中,如果命令未加载时,挂起的断点发生。 在加载代码时,等待断点请尝试将建议代码的位置,即,插入到代码中中断命令。 事件发送给会话调试管理器 (SDM)指示成功的绑定或通知具有约束错误。
挂起断点还管理自己内部列表对应的绑定断点。 一个等待断点在代码可能导致许多断点插入。 调试 UI 的 Visual Studio 显示挂起的断点及其相应的绑定断点树视图。
为 " 挂起 " 断点的创建和使用需要 IDebugEngine2:: CreatePendingBreakpoint 方案和 IDebugPendingBreakpoint2 接口下列方法的实现。
方法 |
说明 |
---|---|
确定指定等待断点是否可以绑定到代码位置。 |
|
绑定指定等待导出到一个或多个代码位置。 |
|
获取挂起的断点的状态。 |
|
获取断点请求用于创建挂起的断点。 |
|
切换挂起的断点的启用状态。 |
|
枚举从 " 挂起的断点绑定的所有断点。 |
|
枚举由挂起的断点的所有错误断点。 |
|
从中删除必须挂起的断点和所有断点。 |
若要枚举绑定断点和错误断点,必须执行 IEnumDebugBoundBreakpoints2 所有方法和 IEnumDebugErrorBreakpoints2。
等待绑定到代码位置的断点需要以下 IDebugBoundBreakpoint2 方法的实现。
方法 |
说明 |
---|---|
获取包含断点的挂起的断点。 |
|
获取绑定断点的状态。 |
|
获取描述断点的断点解析。 |
|
启用或禁用断点。 |
|
删除绑定断点。 |
分辨率和请求信息需要以下 IDebugBreakpointResolution2 方法的实现。
方法 |
说明 |
---|---|
获取解析表示断点的类型。 |
|
获取描述断点的断点解析信息。 |
可能会在绑定期间错误的解决方法需要以下 IDebugErrorBreakpoint2 方法的实现。
方法 |
说明 |
---|---|
获取包含错误断点的挂起的断点。 |
|
获取描述错误断点的断点错误解析。 |
可能发生在同时绑定期间错误的解决方法要求 IDebugErrorBreakpointResolution2以下方法。
方法 |
说明 |
---|---|
获取断点的类型。 |
|
获取断点的分辨率信息。 |
查看断点的源代码需要执行 IDebugStackFrame2:: GetDocumentContext 方法和/或 IDebugStackFrame2:: GetCodeContext方法。