DkmPendingDataBreakpoint 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
绑定到数据表达式而不是代码表达式的挂起断点。 将指定元素写入时,将触发数据断点。
public ref class DkmPendingDataBreakpoint : Microsoft::VisualStudio::Debugger::Breakpoints::DkmPendingBreakpoint
[System.Runtime.InteropServices.Guid("afd7a281-dbf3-946b-9464-8ca12287616b")]
public class DkmPendingDataBreakpoint : Microsoft.VisualStudio.Debugger.Breakpoints.DkmPendingBreakpoint
[<System.Runtime.InteropServices.Guid("afd7a281-dbf3-946b-9464-8ca12287616b")>]
type DkmPendingDataBreakpoint = class
inherit DkmPendingBreakpoint
Public Class DkmPendingDataBreakpoint
Inherits DkmPendingBreakpoint
- 继承
- 继承
- 属性
属性
CompilerId |
标识 (源语言(例如 C#) )和编译器供应商 (例如:应绑定断点的 Microsoft) 。 “LanguageId”可能保留为 Guid.Empty,以指示断点应绑定到所有语言。 “VendorId”几乎始终保留为 Guid.Empty,这表示仅知道语言 (编译器) 。 (继承自 DkmPendingBreakpoint) |
DataElementLocation |
指示要watch的数据值的位置。 |
IsBarrier |
指示此断点是否是应在硬件上设置的屏障,这适用于 GPU 调试。 (继承自 DkmPendingBreakpoint) |
IsUnloaded |
如果已为此对象引发“unloaded”事件,则返回 true (示例:DkmThread::Unload) 或对象已关闭。 请注意,检查此状态时必须小心,因为如果不进行同步,则返回的状态在读取指令后可能不再准确。 (继承自 DkmDataContainer) |
Process |
DkmProcess 表示正在调试的目标进程。 调试器调试进程,因此这是调试的基本单元。 DkmProcess 可以表示系统进程或虚拟进程,例如最小枚举。 (继承自 DkmPendingBreakpoint) |
Size |
指定要监视访问的位置的大小(以字节为单位)。 有效大小可能取决于目标处理器 (x86、x64 等) 和正在调试的代码类型。 例如,本机代码利用 CPU 的断点寄存器,基于 x86 的处理器支持大小为 1、2 和 4。 |
SourceId |
标识对象的源。 SourceId 用于在多个组件可能创建类实例的情况下启用筛选。 例如,源 ID 可用于确定断点是来自 AD7 AL (例如用户断点,还是来自 SDM 级别) 可见的其他断点,而不是可能由其他组件创建的断点 (例如用于单步) 的内部断点。 (继承自 DkmPendingBreakpoint) |
TagValue |
DkmPendingBreakpoint 是一个抽象基类。 此枚举指示此对象是哪个派生类的实例。 (继承自 DkmPendingBreakpoint) |
Thread |
[可选]应触发此断点的线程。 如果为 null,则对所有线程触发断点。 (继承自 DkmPendingBreakpoint) |
UniqueId |
Guid,用于唯一标识此挂起的断点对象。 (继承自 DkmPendingBreakpoint) |
方法
Close() |
关闭 DkmPendingBreakpoint 对象实例。 这将跨所有组件释放与此对象关联的任何资源。 这包括跨计算机或托管/本机封送边界的资源。 DkmPendingBreakpoint 对象在关闭关联的 DkmProcess 对象时自动关闭。 此方法只能由创建 对象的组件调用。 (继承自 DkmPendingBreakpoint) |
Create(DkmProcess, Guid, DkmCompilerId, DkmThread, Boolean, String, Int32, DkmDataItem) |
创建新的挂起断点对象。 创建后,仍会禁用返回的对象,并且不会由断点管理器跟踪。 若要完成初始化,调用方应在断点和“启用”或“注册”断点上设置其他属性。 调用方负责在创建的对象完成后关闭这些对象。 |
Disable(DkmWorkList, DkmCompletionRoutine<DkmDisablePendingBreakpointAsyncResult>) |
禁用挂起的断点对象,使其不再触发。 如果挂起的断点已绑定,则将隐式禁用任何绑定断点。 此方法会将新工作项追加到指定的工作列表,并在追加工作项后返回 。 工作项的实际处理是异步的。 将通过完成例程通知调用方请求已完成。 位置约束:必须从 IDE 组件 (组件级别 > 100,000) 调用 API。 (继承自 DkmPendingBreakpoint) |
Enable(DkmWorkList, DkmCompletionRoutine<DkmEnablePendingBreakpointAsyncResult>) |
设置挂起断点的状态,以便将来绑定的断点实例将被命中。 如果挂起的断点尚未注册,则此方法还将注册断点。 注册挂起的断点包括尝试针对当前加载的任何模块解析断点,并将断点添加到断点管理器将在任何模块加载上绑定的断点列表。 如果已注册挂起的断点,则不会自动启用现有的绑定断点。 绑定断点必须单独启用。 此方法会将新工作项追加到指定的工作列表,并在追加工作项后返回 。 工作项的实际处理是异步的。 将通过完成例程通知调用方请求已完成。 位置约束:必须从 IDE 组件 (组件级别 > 100,000) 调用 API。 (继承自 DkmPendingBreakpoint) |
Enroll(DkmWorkList, DkmCompletionRoutine<DkmEnrollPendingBreakpointAsyncResult>) |
此方法将注册挂起的断点,而不启用它。 结果是断点管理器将尝试解析的断点,但不会触发。 注册挂起的断点包括尝试针对当前加载的任何模块解析断点,并将断点添加到断点管理器将在任何模块加载上绑定的断点列表。 此方法会将新工作项追加到指定的工作列表,并在追加工作项后返回 。 工作项的实际处理是异步的。 将通过完成例程通知调用方请求已完成。 位置约束:必须从 IDE 组件 (组件级别 > 100,000) 调用 API。 (继承自 DkmPendingBreakpoint) |
GetBoundBreakpoints() |
GetBoundBreakpoints 枚举此 DkmPendingBreakpoint 对象的 DkmBoundBreakpoint 元素。 (继承自 DkmPendingBreakpoint) |
GetDataItem<T>() |
获取已添加到此容器实例的“T”实例。 如果此容器不包含“T”,则此函数将返回 null。 (继承自 DkmDataContainer) |
OnBreakpointBound(DkmBoundBreakpoint[]) |
断点管理器在绑定断点时发出通知。 对于用户设置断点,此通知将发送到 AD7 AL,AD7 AL 将触发 IDebugBreakpointBoundEvent2 到 Visual Studio 调试器 UI。 (继承自 DkmPendingBreakpoint) |
OnBreakpointMessage(DkmBreakpointMessageLevel, DkmBreakpointSuggestedFix, Byte, String) |
断点管理器发出有关绑定断点状态的通知。 此 API 是在 Visual Studio 17 Update 6 (DkmApiVersion.VS17Update6) 中引入的。 (继承自 DkmPendingBreakpoint) |
OnBreakpointMessage(DkmBreakpointMessageLevel, DkmBreakpointSuggestedFix, String) |
断点管理器发出有关绑定断点状态的通知。 此 API 是在 Visual Studio 17 Update 4 (DkmApiVersion.VS17Update4) 中引入的。 (继承自 DkmPendingBreakpoint) |
OnBreakpointMessage(DkmBreakpointMessageLevel, String) |
断点管理器发出有关绑定断点状态的通知。 (继承自 DkmPendingBreakpoint) |
OnBreakpointUnbound(DkmBoundBreakpoint[], DkmBreakpointUnboundReason) |
断点管理器发出通知,指示给定的断点未绑定。 (继承自 DkmPendingBreakpoint) |
OnHitWithError(DkmThread, Boolean, DkmBreakpointMessageLevel, String) |
引发 BreakpointHitWithError 事件。 实现事件接收器接口的组件将收到事件通知。 此方法将排队事件,控件将立即返回到调用方。 此 API 是在 Visual Studio 16 RTM (DkmApiVersion.VS16RTM) 中引入的。 (继承自 DkmPendingBreakpoint) |
RemoveDataItem<T>() |
从此容器中删除“T”的实例。 通常不需要调用此方法,因为数据容器将在对象关闭时自动清空。 (继承自 DkmDataContainer) |
SetCondition(DkmWorkList, DkmBreakpointCondition, DkmCompletionRoutine<DkmSetPendingBreakpointConditionAsyncResult>) |
初始化、更新或清除此条件断点的所有绑定断点上的语言级别条件。 如果同一断点同时具有语言级别条件和命中计数条件,则首先应用语言级别条件。 此方法会将新工作项追加到指定的工作列表,并在追加工作项后返回 。 工作项的实际处理是异步的。 将通过完成例程通知调用方请求已完成。 位置约束:必须从 IDE 组件 (组件级别 > 100,000) 调用 API。 (继承自 DkmPendingBreakpoint) |
SetDataItem<T>(DkmDataCreationDisposition, T) |
将新项放在数据容器中。 (继承自 DkmDataContainer) |
SetHitCountCondition(DkmWorkList, DkmBreakpointHitCountCondition, DkmCompletionRoutine<DkmSetPendingBreakpointHitCountConditionAsyncResult>) |
初始化、更新或清除此挂起断点的所有绑定断点上的命中计数条件。 如果同一断点同时具有语言级别条件和命中计数条件,则首先应用语言级别条件。 请注意,命中计数条件单独作用于每个绑定断点,而不是在挂起的断点上聚合在一起。 例如,如果命中计数配置为在命中 #2 时停止,并且断点到两个单独的位置(每个位置都命中断点一次),则 UI 仍不会进入中断模式,因为两个绑定断点都没有命中两次。 此方法会将新工作项追加到指定的工作列表,并在追加工作项后返回 。 工作项的实际处理是异步的。 将通过完成例程通知调用方请求已完成。 位置约束:必须从 IDE 组件 (组件级别 > 100,000) 调用 API。 (继承自 DkmPendingBreakpoint) |
显式接口实现
IDisposable.Dispose() |
绑定到数据表达式而不是代码表达式的挂起断点。 将指定元素写入时,将触发数据断点。 (继承自 DkmPendingBreakpoint) |