DkmPendingAddressBreakpoint 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
请求绑定特定指令地址的挂起断点。 在 IDE 中,从 "调用堆栈" 窗口、"反汇编" 窗口或在 "函数断点" 对话框中输入十六进制地址来设置这些断点。 由于 DkmInstructionAddress 被指定为输入,因此这些断点可以支持运行时,这些运行时无法将其地址保存到字符串中 (例如:) 解释器。
public ref class DkmPendingAddressBreakpoint : Microsoft::VisualStudio::Debugger::Breakpoints::DkmPendingBreakpoint
[System.Runtime.InteropServices.Guid("5e4de51b-8d82-5d38-8041-3a42c18d3f47")]
public class DkmPendingAddressBreakpoint : Microsoft.VisualStudio.Debugger.Breakpoints.DkmPendingBreakpoint
[<System.Runtime.InteropServices.Guid("5e4de51b-8d82-5d38-8041-3a42c18d3f47")>]
type DkmPendingAddressBreakpoint = class
inherit DkmPendingBreakpoint
Public Class DkmPendingAddressBreakpoint
Inherits DkmPendingBreakpoint
- 继承
- 属性
属性
| CompilerId |
标识源语言 (ex: c # ) 和编译器供应商 (ex:应将断点绑定到的 Microsoft) 。 "LanguageId" 可以保留为 Guid.empty,以指示该断点应绑定到所有语言。 "VendorId" 几乎始终保留为 Guid.empty,这表示仅知道语言 (编译器) 。 (继承自 DkmPendingBreakpoint) |
| InstructionAddress |
可执行代码位置的抽象表示形式 (ex: EIP 值) 。 如果指令地址未解析 (DkmUnknownInstructionAddress) 并包含 CPU 指令,则在该范围内的模块加载时,断点管理器将尝试绑定此指令。 |
| IsBarrier |
指示此断点是否为应在硬件上设置的关卡,适用于 GPU 调试。 (继承自 DkmPendingBreakpoint) |
| IsUnloaded |
如果为此对象引发了 "已卸载" 事件,则返回 true (例如: DkmThread:: Unload 称为) 或对象已关闭。 请注意,在将此状态视为不同步时,必须使用 "小心",返回的状态在读取后可能不再准确。 (继承自 DkmDataContainer) |
| Process |
DkmProcess 表示正在调试的目标进程。 调试器调试进程,因此这是调试的基本单元。 DkmProcess 可以表示系统进程或虚拟进程,如小型转储。 (继承自 DkmPendingBreakpoint) |
| SourceId |
标识对象的源。 当多个组件可能创建类的实例时,SourceIds 用于在方案中启用筛选。 例如,源 id 可用于确定断点是否来自 AD7 AL (ex: user 断点或其他) SDM 级别可见的断点,而不是可能由另一个组件创建的断点 (例如,用于单步执行) 的内部断点。 (继承自 DkmPendingBreakpoint) |
| TagValue |
DkmPendingBreakpoint 是一个抽象基类。 此枚举指示此对象是其实例的派生类。 (继承自 DkmPendingBreakpoint) |
| Thread |
可有可无应在其上激发此断点的线程。 如果为 null,则将在所有线程上触发断点。 (继承自 DkmPendingBreakpoint) |
| UniqueId |
唯一标识此挂起断点对象的 Guid。 (继承自 DkmPendingBreakpoint) |
方法
| Close() |
关闭 DkmPendingBreakpoint 对象实例。 这会在所有组件中释放与此对象关联的所有资源。 这包括跨计算机或托管/本机封送处理边界的资源。 关闭关联的 DkmProcess 对象时,DkmPendingBreakpoint 对象会自动关闭。 此方法只能由创建对象的组件调用。 (继承自 DkmPendingBreakpoint) |
| Create(Guid, DkmCompilerId, DkmThread, Boolean, DkmInstructionAddress, DkmDataItem) |
创建新的挂起断点对象。 创建后,返回的对象仍将被禁用,并且不会被断点管理器跟踪。 若要完成初始化,调用方应在断点上设置附加属性,并将其设置为 "启用" 或 "注册"。 调用方负责在完成后关闭创建的对象。 |
| Disable(DkmWorkList, DkmCompletionRoutine<DkmDisablePendingBreakpointAsyncResult>) |
禁用挂起断点对象,使其不再激发。 如果挂起的断点已经绑定,则将隐式禁用任何绑定断点。 此方法会将新工作项追加到指定的工作列表,并在追加工作项后返回。 工作项的实际处理是异步的。 向调用方发送请求完成后,将收到通过完成例程的通知。 位置约束:必须从 IDE 组件 (组件级别 100000) 中调用 API > 。 (继承自 DkmPendingBreakpoint) |
| Enable(DkmWorkList, DkmCompletionRoutine<DkmEnablePendingBreakpointAsyncResult>) |
设置挂起断点的状态,以便在将来绑定的断点实例得以命中。 如果尚未注册挂起的断点,则此方法还将注册断点。 注册挂起断点包含尝试针对当前加载的任何模块解析断点,并将断点添加到断点列表,断点管理器将在任何模块加载时绑定断点。 如果挂起的断点已经注册,则现有绑定断点将不会自动启用。 绑定断点必须单独启用。 此方法会将新工作项追加到指定的工作列表,并在追加工作项后返回。 工作项的实际处理是异步的。 向调用方发送请求完成后,将收到通过完成例程的通知。 位置约束:必须从 IDE 组件 (组件级别 100000) 中调用 API > 。 (继承自 DkmPendingBreakpoint) |
| Enroll(DkmWorkList, DkmCompletionRoutine<DkmEnrollPendingBreakpointAsyncResult>) |
此方法将注册挂起断点但不启用它。 结果是断点管理器将尝试解析的断点,但不会激发。 注册挂起断点包含尝试针对当前加载的任何模块解析断点,并将断点添加到断点列表,断点管理器将在任何模块加载时绑定断点。 此方法会将新工作项追加到指定的工作列表,并在追加工作项后返回。 工作项的实际处理是异步的。 向调用方发送请求完成后,将收到通过完成例程的通知。 位置约束:必须从 IDE 组件 (组件级别 100000) 中调用 API > 。 (继承自 DkmPendingBreakpoint) |
| GetBoundBreakpoints() |
GetBoundBreakpoints 枚举此 DkmPendingBreakpoint 对象的 DkmBoundBreakpoint 元素。 (继承自 DkmPendingBreakpoint) |
| GetDataItem<T>() |
获取已添加到此容器实例中的 "t" 的实例。 如果此容器不包含 "t",则此函数将返回 null。 (继承自 DkmDataContainer) |
| OnBreakpointBound(DkmBoundBreakpoint[]) |
已绑定断点时来自断点管理器的通知。 对于用户设置断点,会将此通知发送到 AD7 AL,AD7 AL 会向 Visual Studio 调试器 UI 发出 IDebugBreakpointBoundEvent2。 (继承自 DkmPendingBreakpoint) |
| OnBreakpointMessage(DkmBreakpointMessageLevel, String) |
来自断点管理器的有关绑定断点状态的通知。 (继承自 DkmPendingBreakpoint) |
| OnBreakpointUnbound(DkmBoundBreakpoint[], DkmBreakpointUnboundReason) |
来自断点管理器的通知,指示给定的断点正在解除绑定。 (继承自 DkmPendingBreakpoint) |
| OnHitWithError(DkmThread, Boolean, DkmBreakpointMessageLevel, String) |
引发 BreakpointHitWithError 事件。 实现事件接收器接口的组件将接收事件通知。 此方法将排队等待事件,控件将立即返回到调用方。 此 API 是在 Visual Studio 16 RTM (VS16RTM) 中引入的。 (继承自 DkmPendingBreakpoint) |
| RemoveDataItem<T>() |
从此容器中删除 "t" 的实例。 通常不需要调用此方法,因为当关闭对象时,数据容器将自动清空。 (继承自 DkmDataContainer) |
| SetCondition(DkmWorkList, DkmBreakpointCondition, DkmCompletionRoutine<DkmSetPendingBreakpointConditionAsyncResult>) |
初始化、更新或清除此条件断点的所有绑定断点上的语言级条件。 如果同一断点同时具有语言级条件和命中次数条件,则首先应用语言级条件。 此方法会将新工作项追加到指定的工作列表,并在追加工作项后返回。 工作项的实际处理是异步的。 向调用方发送请求完成后,将收到通过完成例程的通知。 位置约束:必须从 IDE 组件 (组件级别 100000) 中调用 API > 。 (继承自 DkmPendingBreakpoint) |
| SetDataItem<T>(DkmDataCreationDisposition, T) |
在数据容器中放置一个新项。 (继承自 DkmDataContainer) |
| SetHitCountCondition(DkmWorkList, DkmBreakpointHitCountCondition, DkmCompletionRoutine<DkmSetPendingBreakpointHitCountConditionAsyncResult>) |
初始化、更新或清除此挂起断点的所有绑定断点上的命中次数条件。 如果同一断点同时具有语言级条件和命中次数条件,则首先应用语言级条件。 请注意,命中次数条件在每个绑定断点上独立工作,而不是在挂起断点上聚合在一起。 例如,如果命中次数配置为在命中 #2 时停止,并将断点指向两个不同的位置,每个位置都命中断点一次,则 UI 仍不会进入中断模式,因为两个绑定断点都没有命中两次。 此方法会将新工作项追加到指定的工作列表,并在追加工作项后返回。 工作项的实际处理是异步的。 向调用方发送请求完成后,将收到通过完成例程的通知。 位置约束:必须从 IDE 组件 (组件级别 100000) 中调用 API > 。 (继承自 DkmPendingBreakpoint) |
显式接口实现
| IDisposable.Dispose() | (继承自 DkmPendingBreakpoint) |