DkmPendingAddressNameBreakpoint 类

定义

挂起的断点,请求将其绑定到特定指令地址字符串处的代码元素。 在 IDE 中,当用户在 "调用堆栈" 或 "反汇编" 窗口中设置断点时,将创建这些断点,然后请求调试器在另一个调试会话中或在同一调试会话内的另一个进程中重新绑定断点。

public ref class DkmPendingAddressNameBreakpoint : Microsoft::VisualStudio::Debugger::Breakpoints::DkmPendingBreakpoint
[System.Runtime.InteropServices.Guid("243712b0-a935-6c92-7fc4-6ffb461126ac")]
public class DkmPendingAddressNameBreakpoint : Microsoft.VisualStudio.Debugger.Breakpoints.DkmPendingBreakpoint
[<System.Runtime.InteropServices.Guid("243712b0-a935-6c92-7fc4-6ffb461126ac")>]
type DkmPendingAddressNameBreakpoint = class
    inherit DkmPendingBreakpoint
Public Class DkmPendingAddressNameBreakpoint
Inherits DkmPendingBreakpoint
继承
DkmPendingAddressNameBreakpoint
属性

属性

AddressName

要绑定到的地址的字符串表示形式。

CompilerId

标识源语言 (ex: c # ) 和编译器供应商 (ex:应将断点绑定到的 Microsoft) 。 "LanguageId" 可以保留为 Guid.empty,以指示该断点应绑定到所有语言。 "VendorId" 几乎始终保留为 Guid.empty,这表示仅知道语言 (编译器) 。

(继承自 DkmPendingBreakpoint)
FunctionName

可有可无包含地址的函数的名称。

IsBarrier

指示此断点是否为应在硬件上设置的关卡,适用于 GPU 调试。

(继承自 DkmPendingBreakpoint)
IsUnloaded

如果为此对象引发了 "已卸载" 事件,则返回 true (例如: DkmThread:: Unload 称为) 或对象已关闭。 请注意,在将此状态视为不同步时,必须使用 "小心",返回的状态在读取后可能不再准确。

(继承自 DkmDataContainer)
ModuleName

要在其中搜索断点的模块的名称。

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(DkmProcess, Guid, DkmCompilerId, DkmThread, Boolean, String, String, String, 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)

适用于