Microsoft.VisualStudio.Debugger.ComponentInterfaces 命名空间

接口

IDkmActiveScriptDebugMonitor

脚本 DM 实现的接口提供对目标脚本运行时的直接访问。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、TransportKind。

IDkmAfterSetNextStatementNotification

IDkmAfterSetNextStatementNotification 由希望在设置 next 语句完成后接收通知的组件实现。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId、TransportKind。

IDkmAppDomainCreatedNotification

IDkmAppDomainCreatedNotification 由要侦听 AppDomainCreated 事件的组件实现。 触发此通知时,目标进程将暂停并可以检查。 当目标进程创建 AppDomain 时,将触发 AppDomainCreated。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId。

此 API 是在 Visual Studio 16 RTM (DkmApiVersion.VS16RTM) 中引入的。

IDkmAppDomainUnloadedNotification

IDkmAppDomainUnloadedNotification 由要侦听 AppDomainUnloaded 事件的组件实现。 触发此通知时,目标进程将暂停并可以检查。 当目标进程卸载 AppDomain 时,将触发 AppDomainUnloaded。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId。

此 API 是在 Visual Studio 16 RTM (DkmApiVersion.VS16RTM) 中引入的。

IDkmAppPackageInfo

用于枚举本地或远程系统上的应用包信息的接口。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:TransportKind。

IDkmAsyncBreak

此接口包含用于对调试对象进程执行异步中断的 API。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

IDkmAsyncBreakCompleteNotification

IDkmAsyncBreakCompleteNotification 由要侦听 AsyncBreakComplete 事件的组件实现。 IDkmAsyncBreakCompleteNotification 是在 IDkmAsyncBreakCompleteReceived 的所有实现之后调用的。 调用此通知时,目标进程将停止,实现者能够检查进程或使其以受控方式执行, (滑动、func-eval) 。

在异步请求中断进程完成之后,由调试监视器发送。

可以通过调用 DkmEventDescriptorS.Suppress () 来抑制 AsyncBreakComplete 事件。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

IDkmAsyncBreakCompleteReceived

IDkmAsyncBreakCompleteReceived 由要侦听 AsyncBreakComplete 事件的组件实现。 在 IDkmAsyncBreakCompleteNotification 之前调用 IDkmAsyncBreakCompleteReceived。 在此通知中,无法导致目标进程执行 (无 func-eval、无滑) 。

在异步请求中断进程完成之后,由调试监视器发送。

可以通过调用 DkmEventDescriptorS.Suppress () 来抑制 AsyncBreakComplete 事件。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

IDkmAsyncStateMachineDecoder170

提供有关异步状态机方法的元数据级别信息。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId。

此 API 是在 Visual Studio 17 RTM (DkmApiVersion.VS17RTM) 中引入的。

IDkmAsyncTaskDecoder

执行异步调用堆栈和任务创建堆栈。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:EngineId、RuntimeId、SymbolProviderId、TaskProviderId。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 中引入的。

IDkmBaseFuncEvalService

基本调试监视器实现的接口允许恢复函数评估过程。 此接口包含“ExecuteFuncEval”使用的基本服务。 设置、清理、超时处理、异常处理和完成检测均由更高级别的调试监视器处理。

不提供此接口用于 CLR v2 调试。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

IDkmBaseNativeExecutionController

IDkmBaseNativeExecutionController 由支持设置本机断点或单步执行本机指令的基本调试监视器实现。 它提供 CLR 调试所需的高级执行控件基元。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

IDkmBeforeContinueExecutionNotification

提供进程即将继续执行的通知。 此函数在初始化任何相关步进器之前调用,因此可以执行 func-evals。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引入的。

IDkmBeforeStopDebuggingNotification

提供进程即将分离或终止的通知。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引入的。

IDkmBinaryLoadedNotification

IDkmBinaryLoadedNotification 由要侦听 BinaryLoaded 事件的组件实现。 触发此通知时,目标进程将暂停并可以检查。 指示我们已成功加载正在调试的微型转储中的模块的二进制文件。

可以通过调用 DkmEventDescriptorS.Suppress () 来抑制 BinaryLoaded 事件。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId、TransportKind。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 中引入的。

IDkmBinaryLocator

此接口包含符号提供程序实现的方法,以允许调试监视器在符号服务器和本地磁盘上搜索二进制文件。 这是必需的,因为符号服务器 API 不是线程安全的,并且符号提供程序拥有对这些 API 的访问权限。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

IDkmBinaryLocator11a

扩展二进制定位符功能。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

此 API 是在 Visual Studio 11 Update 1 (DkmApiVersion.VS11FeaturePack1) 中引入的。

IDkmBinaryReloadOpportunityNotification

IDkmBinaryReloadOpportunityNotification 由要侦听 BinaryReloadOpportunity 事件的组件实现。 触发此通知时,目标进程将暂停并可以检查。 在微型转储调试时,由 MinidumpBDM 引发,当用户尝试手动加载二进制文件时重新定位二进制文件。

可以通过调用 DkmEventDescriptorS.Suppress () 来抑制 BinaryReloadOpportunity 事件。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId、TransportKind。

此 API 是在 Visual Studio 12 Update 2 (DkmApiVersion.VS12Update2) 中引入的。

IDkmBoundBreakpointHitNotification

IDkmBoundBreakpointHitNotification 由想要侦听 BoundBreakpointHit 事件的组件实现。 IDkmBoundBreakpointHitReceived 的所有实现之后调用 IDkmBoundBreakpointHitNotification。 调用此通知时,目标进程将停止,实现者能够检查进程或使其以受控方式执行, (滑动、func-eval) 。

提供已命中绑定断点 (DkmBoundBreakpoint) 的通知。 绑定断点是高级断点对象。 通过 RuntimeBreakpoint 事件获取低级别断点 (DkmRuntimeBreakpoint) 通知。

可以通过调用 DkmEventDescriptorS.Suppress () 来抑制 BoundBreakpointHit 事件。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、CompilerVendorId、EngineId、LanguageId、SourceId。

IDkmBoundBreakpointHitReceived

IDkmBoundBreakpointHitReceived 由要侦听 BoundBreakpointHit 事件的组件实现。 IDkmBoundBreakpointHitReceived 在 IDkmBoundBreakpointHitNotification 之前调用。 在此通知中,无法导致目标进程执行 (无 func-eval、无滑) 。

提供已命中绑定断点 (DkmBoundBreakpoint) 的通知。 绑定断点是高级断点对象。 通过 RuntimeBreakpoint 事件获取低级别断点 (DkmRuntimeBreakpoint) 通知。

可以通过调用 DkmEventDescriptorS.Suppress () 来抑制 BoundBreakpointHit 事件。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、CompilerVendorId、EngineId、LanguageId、SourceId。

IDkmBreakpointConditionProcessor

在目标计算机上实现的接口,用于处理断点条件和命中计数的评估。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SourceId。

IDkmBreakpointConditionProcessorClient

由 DkmRuntimeBreakpoint.SetCompiledConditionPending 的调用方实现,以在命中断点时提供编译条件。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SourceId。

IDkmBreakpointConditionProcessorClient140

由 DkmRuntimeBreakpoint.SetCompiledConditionPending 的调用方实现,以在命中断点时提供编译条件。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SourceId。

此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引入的。

IDkmBreakpointConditionProcessorGpuExtension

用于 GPU 调试的扩展接口,在目标计算机上实现,用于处理断点条件的评估。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SourceId。

IDkmBreakpointConditionThreadSelectorForGpu

在目标计算机上实现的接口,用于处理评估所有已停止线程上的断点条件,并选择其条件为 GPU 的线程。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SourceId。

此 API 是在 Visual Studio 11 Update 1 (DkmApiVersion.VS11FeaturePack1) 中引入的。

IDkmBreakpointHitWithErrorNotification

IDkmBreakpointHitWithErrorNotification 由要侦听 BreakpointHitWithError 事件的组件实现。 IDkmBreakpointHitWithErrorNotification 是在 IDkmBreakpointHitWithErrorReceived 的所有实现之后调用的。 调用此通知时,目标进程将停止,实现者能够检查进程或使其以受控方式执行, (滑动、func-eval) 。

提供通知,指出已命中挂起的断点,但处理导致不可恢复的错误。 进程现已停止,断点现在处于错误状态,不会再次命中。

可以通过调用 DkmEventDescriptorS.Suppress () 来抑制 BreakpointHitWithError 事件。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、CompilerVendorId、EngineId、LanguageId、SourceId。

此 API 是在 Visual Studio 16 RTM (DkmApiVersion.VS16RTM) 中引入的。

IDkmBreakpointHitWithErrorReceived

IDkmBreakpointHitWithErrorReceived 由要侦听 BreakpointHitWithError 事件的组件实现。 在 IDkmBreakpointHitWithErrorNotification 之前调用 IDkmBreakpointHitWithErrorReceived。 在此通知中,无法导致目标进程执行 (无 func-eval、无滑) 。

提供通知,指出已命中挂起的断点,但处理导致不可恢复的错误。 进程现已停止,断点现在处于错误状态,不会再次命中。

可以通过调用 DkmEventDescriptorS.Suppress () 来抑制 BreakpointHitWithError 事件。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、CompilerVendorId、EngineId、LanguageId、SourceId。

此 API 是在 Visual Studio 16 RTM (DkmApiVersion.VS16RTM) 中引入的。

IDkmBreakpointManager

此接口由断点管理器组件实现,为断点提供默认处理。 系统中的其他组件还可以实现此接口,以重新映射某些语言的断点的含义。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、CompilerVendorId、EngineId、LanguageId、SourceId。

IDkmBreakpointManagerFileUpdate

接口由断点管理器实现,希望在 IDE 中更新文件时接收通知。

() 不支持筛选,则始终调用此接口的实现。 为了减少内存影响,建议在小型 dll 中实现此接口,或者使用“CallOnlyWhenLoaded=”true“配置实现。

IDkmBreakpointManagerNotification

此接口由将断点添加到断点管理器 ((如 AD7 AL) )的组件实现。 这允许在断点管理器绑定断点或检测到断点错误或警告时通知组件。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、CompilerVendorId、EngineId、LanguageId、SourceId。

IDkmBreakpointManagerNotification174

此接口由将断点添加到断点管理器 ((如 AD7 AL) )的组件实现。 这允许在断点管理器绑定断点或检测到断点错误或警告时通知组件。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、CompilerVendorId、EngineId、LanguageId、SourceId。

此 API 是在 Visual Studio 17 Update 4 (DkmApiVersion.VS17Update4) 中引入的。

IDkmBreakpointManagerNotification176

此接口由将断点添加到断点管理器 ((如 AD7 AL) )的组件实现。 这允许在断点管理器绑定断点或检测到断点错误或警告时通知组件。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、CompilerVendorId、EngineId、LanguageId、SourceId。

此 API 是在 Visual Studio 17 Update 6 (DkmApiVersion.VS17Update6) 中引入的。

IDkmCallStackFilter

允许组件向调用堆栈添加其他注释,或者从调用堆栈中删除物理帧。 出于性能原因,堆栈帧筛选器在表达式计算器计算之前调用。 一个示例堆栈帧筛选器是隐藏调用堆栈中的外部代码。 添加异步堆栈演练上下文的帧筛选器的优先级必须为 Normal 或更高。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TaskProviderId。

IDkmClrAppDomainNameChanged

用于更新 AppDomain 名称的接口。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId。

IDkmClrCustomVisualizerObjectProvider

实例化调试对象中的调试对象端自定义可视化工具类型,并提供访问/修改可视化对象 (“可视化工具对象”) 的方法。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:CompilerVendorId、EngineId、LanguageId、RuntimeId、SymbolProviderId。

此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引入的。

IDkmClrCustomVisualizerObjectProvider1610

实例化调试对象中的调试对象端自定义可视化工具类型,并提供访问/修改可视化对象的方法 (“可视化工具对象”) 考虑到它可能不支持 BinaryFormatter 与其通信。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:CompilerVendorId、EngineId、LanguageId、RuntimeId、SymbolProviderId。

此 API 是在 Visual Studio 16 Update 10 (DkmApiVersion.VS16Update10) 中引入的。

IDkmClrDebugMonitorExceptionCaughtNotification

IDkmClrDebugMonitorExceptionCaughtNotification 由要侦听 ClrDebugMonitorExceptionCaught 事件的组件实现。 触发此通知时,目标进程将暂停并可以检查。 “ClrDebugMonitorExceptionCaught”事件从托管调试监视器提供有关目标进程中发生的捕获异常的通知。 此事件由 IntelliTrace 等诊断工具使用,以将其记录在其 TraceDebugger.\n 中。

可以通过调用 DkmEventDescriptorS.Suppress () 来抑制 ClrDebugMonitorExceptionCaught 事件。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 中引入的。

IDkmClrDecompiler

为 CLR 类型提供反编译服务。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId、TransportKind。

此 API 是在 Visual Studio 16 Update 5 (DkmApiVersion.VS16Update5) 中引入的。

IDkmClrDecompiler173

为 CLR 类型提供反编译服务。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId、TransportKind。

此 API 是在 Visual Studio 17 Update 3 (DkmApiVersion.VS17Update3) 中引入的。

IDkmClrDecompiler175

为 CLR 模块提供反编译服务。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId、TransportKind。

此 API 是在 Visual Studio 17 Update 5 (DkmApiVersion.VS17Update5) 中引入的。

IDkmClrDecompiler177

为 CLR 模块提供反编译服务。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId、TransportKind。

此 API 是在 Visual Studio 17 Update 7 (DkmApiVersion.VS17Update7) 中引入的。

IDkmClrExceptionDetailsProvider

此接口允许调试监视器以异常详细信息的形式提供有关 CLR 异常的其他信息。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:EngineId、ExceptionCategory、RuntimeId。

此 API 是在 Visual Studio 15 Update 7 (DkmApiVersion.VS15Update7) 中引入的。

IDkmClrExpressionCompiler

允许托管语言的编译器编译供调试器使用的表达式,以支持表达式计算和条件断点。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:CompilerVendorId、LanguageId。

此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引入的。

IDkmClrExpressionCompilerCallback

允许托管语言的编译器编译表达式,供调试器使用以支持表达式计算。 此接口包含从监视器调用的方法。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:CompilerVendorId、LanguageId。

此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引入的。

IDkmClrExpressionEvaluatorCallbackInternal

CLR 表达式计算器用于在监视器/IDE 之间进行通信的内部方法。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:CompilerVendorId、LanguageId。

此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引入的。

IDkmClrFormatter

将评估结果的值和类型名称格式化为适用于所调试语言的字符串。 编译器供应商可以实现此接口来自定义其语言的值格式。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:CompilerVendorId、LanguageId。

此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引入的。

IDkmClrFormatter2

将评估结果的值格式化为适用于所调试语言的字符串。 编译器供应商可以实现此接口来自定义其语言的值格式。 此接口是 IDkmClrFormatter 接口的补充。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:CompilerVendorId、LanguageId、SymbolProviderId。

此 API 是在 Visual Studio 15 RTM (DkmApiVersion.VS15RTM) 中引入的。

IDkmClrFrameGenericParameterProvider

提供获取堆栈帧的泛型参数的功能。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId、TransportKind。

此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引入的。

IDkmClrFrameTypesProvider

在内部用于查询有关堆栈帧的类型信息,以获取 Null 引用异常信息。 Visual Studio 的未来版本中可能会更改此接口。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId、TransportKind。

此 API 是在 Visual Studio 15 RTM (DkmApiVersion.VS15RTM) 中引入的。

IDkmClrFullNameProvider

为某些表达式提供全名。 全名用于“添加到监视”功能。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、CompilerVendorId、EngineId、LanguageId、RuntimeId。

此 API 是在 Visual Studio 15 RTM (DkmApiVersion.VS15RTM) 中引入的。

IDkmClrFullNameProvider2

为元数据标识符提供特定于语言的名称。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、CompilerVendorId、EngineId、LanguageId、RuntimeId。

此 API 是在 Visual Studio 16 Update 10 (DkmApiVersion.VS16Update10) 中引入的。

IDkmClrInspectionQueryProcessor

允许执行已编译为托管 IL 的查询。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:EngineId、RuntimeId。

此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引入的。

IDkmClrIntrinsicAssemblyProvider

包含用于加载内部方法程序集的方法。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、TransportKind。

此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引入的。

IDkmClrManagedHeapStringProvider

由 CLR 检查器实现的接口,用于有效评估字符串。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、TransportKind。

此 API 是在 Visual Studio 17 Update 5 (DkmApiVersion.VS17Update5) 中引入的。

IDkmClrManagedHeapTypeLayoutProvider

由 CLR 检查器实现的接口,用于提供类型布局信息。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、TransportKind。

此 API 是在 Visual Studio 17 Update 6 (DkmApiVersion.VS17Update6) 中引入的。

IDkmClrMetaDataLoader

用于加载未在调试对象进程中加载的模块的元数据的方法。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId。

此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引入的。

IDkmClrMetaDataProvider

由托管 DM 实现的接口,用于从给定模块获取元数据。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId、TransportKind。

IDkmClrMetaDataProvider140

添加了用于访问VS14RTM中添加的元数据的方法。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId、TransportKind。

此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引入的。

IDkmClrMetaDataProvider150

添加了用于访问基线 (原始) 元数据的方法。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId、TransportKind。

此 API 是在 Visual Studio 15 Update 5 (DkmApiVersion.VS15Update5) 中引入的。

IDkmClrMethodSignatureHelper

提供一个方法,用于获取给定方法令牌的局部变量签名的签名令牌。 如果已通过 EnC 修改了该方法,则此方法将返回最新的 Blob 令牌。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId、TransportKind。

此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引入的。

IDkmClrModuleLookup

从 ICorDebugModule 获取 DkmClrModuleInstance。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、TransportKind。

IDkmClrNcInstructionAddressResolver

用于将类型 ref 标记解析为类型 def 和关联的程序集的接口。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId、TransportKind。

此 API 是在 Visual Studio 15 Update 8 (DkmApiVersion.VS15Update8) 中引入的。

IDkmClrObjectFavoritesCacheCallback

为结果格式化程序提供在远程端缓存的对象收藏夹信息。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId。

此 API 是在 Visual Studio 16 Update 4 (DkmApiVersion.VS16Update4) 中引入的。

IDkmClrPropertyInterpreter

计算 ICorDebugValueHandles 属性的方法。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId。

此 API 是在 Visual Studio 15 RTM (DkmApiVersion.VS15RTM) 中引入的。

IDkmClrPropertyInterpreter151

计算 ICorDebugValueHandles 属性的方法。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId、TransportKind。

此 API 是在 Visual Studio 15 Update 3 (DkmApiVersion.VS15Update3) 中引入的。

IDkmClrResultProvider

提供给定 DkmClrValues 的 DkmEvaluationResults。 编译器供应商可以实现此接口,以更改扩展值并向用户呈现的方式。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:CompilerVendorId、LanguageId、SymbolProviderId。

此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引入的。

IDkmClrRuntimeDebugMonitor

由托管 DM 实现的接口,用于获取有关进程的当前运行时状态的信息。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId。

IDkmClrRuntimeDebugMonitor150

由托管 DM 实现的接口,用于获取有关进程的当前运行时状态的信息。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId、TransportKind。

此 API 是在 Visual Studio 15 Update 5 (DkmApiVersion.VS15Update5) 中引入的。

IDkmClrRuntimeDebugMonitorDirect

由托管 DM 实现的接口,为表达式计算器和其他组件提供对 ICorDebug 接口的直接访问。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId。

IDkmClrSymbolCallback

此 API 允许表达式计算器获取包含在 CLR PDB 文件或 CLR 动态模块符号存储中的信息。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:SymbolProviderId。

IDkmClrSymbolCallback120

对 IDkmClrSymbolCallback 的增强,允许它支持 ClrNc 方案。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:RuntimeId、SymbolProviderId。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 中引入的。

IDkmClrSymbolCallback160

为 Visual Studio 2019 添加了符号提供程序回调增强功能。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:RuntimeId、SymbolProviderId。

此 API 是在 Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview) 中引入的。

IDkmClrSymbolSignatureCallback

为表达式计算器提供 API 以获取局部变量和常量签名。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:SymbolProviderId。

IDkmClrSymUnmanagedReaderFactory

此 API 为 CLR 模块实例提供 ISymUnmanagedReader2 的部分实现。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId、TransportKind。

此 API 是在 Visual Studio 15 RTM (DkmApiVersion.VS15RTM) 中引入的。

IDkmClrTypeResolver

用于将类型从字符串解析为方法 ID 或类型 ID 的 接口。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 中引入的。

IDkmClrTypeRuntimeInfoProvider

在内部用于从 DkmClrType 查询 ICorDebugType 和大小信息。 此接口在将来的 Visual Studio 版本中可能会发生更改。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId。

此 API 是在 Visual Studio 15 RTM (DkmApiVersion.VS15RTM) 中引入的。

IDkmClrTypeRuntimeInfoProvider178

由托管 DM 实现的接口,用于提供 CLR 中的类型信息。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId、TransportKind。

此 API 是在 Visual Studio 17 Update 8 (DkmApiVersion.VS17Update8) 中引入的。

IDkmClrUIVisualizerService

由支持 C# EE 的自定义查看器方法的表达式计算器实现, (即 IPropertyProxyEESide) 。 此接口在将来的版本中可能会发生更改。

() 不支持筛选,则始终调用此接口的实现。 为了减少内存影响,建议在小型 dll 中实现此接口,或者使用“CallOnlyWhenLoaded=”true“配置实现。

IDkmClrUIVisualizerService120

由支持 C# EE 的自定义查看器方法的表达式计算器实现, (即 IPropertyProxyEESide) 。 此接口在将来的版本中可能会发生更改。

() 不支持筛选,则始终调用此接口的实现。 为了减少内存影响,建议在小型 dll 中实现此接口,或者使用“CallOnlyWhenLoaded=”true“配置实现。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 中引入的。

IDkmClrValueInspectionCallback

实现的接口允许检查由 DkmClrValues 表示的 CLR 值。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:SymbolProviderId。

此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引入的。

IDkmCompiledInspectionQueryProcessor

提供已编译的检查查询的执行。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:CompiledInspectionQueryKind、CompilerVendorId、EngineId、LanguageId、RuntimeId。

IDkmComputeKernelExitNotification

IDkmComputeKernelExitNotification 由要侦听 ComputeKernelExit 事件的组件实现。 在此通知期间,目标进程可能会继续运行。 GPU 计算内核完成时的事件。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

IDkmContinueExecution

此接口包含用于在引擎将停止事件发送到 Visual Studio 调试器包后继续执行的 API。 此接口只能由基本调试监视器组件实现。 与几乎所有其他接口不同,此接口的一个实现可能不会链接到另一个实现。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

IDkmCustomMessageAsyncForwardReceiver176

由希望从 IDE 或其他 Concord 组件接收自定义消息的组件实现,并异步处理此消息。 这是 IDkmCustomMessageForwardReceiver 的异步版本。 请注意,仅通过此接口接收使用 async (DkmWorkList) 版本的 DkmCustomMessage.SendLower 发送的消息。

此接口的实现程序通常使用 SourceId 筛选器。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、SourceId、TransportKind。

此 API 是在 Visual Studio 17 Update 6 (DkmApiVersion.VS17Update6) 中引入的。

IDkmCustomMessageCallbackReceiver

由希望从另一个 Concord 组件接收自定义消息的组件实现。 此接口类似于 IDkmCustomMessageForwardReceiver,但此方法要求调用方在组件层次结构中的级别低于接收通知的组件 (例如:基本调试监视器 -> AD7 AL) 。

此接口的实现程序通常使用 SourceId 筛选器。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、SourceId、TransportKind。

IDkmCustomMessageForwardReceiver

由希望从 IDE 或其他 Concord 组件接收自定义消息的组件实现。 此接口类似于 IDkmCustomMessageCallbackReceiver,但此方法要求调用方在组件层次结构中的级别高于接收 (的组件,例如:AD7 AL -> 基本调试监视器) 。

此接口的实现程序通常使用 SourceId 筛选器。

从 17.6 开始,此接口有一个异步替代方法:IDkmCustomMessageAsyncForwardReceiver176。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、SourceId、TransportKind。

IDkmCustomStopNotification

IDkmCustomStopNotification 由要侦听 CustomStop 事件的组件实现。 IDkmCustomStopNotification 是在 IDkmCustomStopReceived 的所有实现之后调用的。 调用此通知时,目标进程将停止,实现者能够检查进程或使其以受控方式执行, (滑动、func-eval) 。

CustomStop 事件允许协和组件将停止事件引发到自定义 UI 组件或更高级别的 Concord 组件。

可以通过调用 DkmEventDescriptorS.Suppress () 来抑制 CustomStop 事件。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、SourceId、TransportKind。

IDkmCustomStopReceived

IDkmCustomStopReceived 由要侦听 CustomStop 事件的组件实现。 在 IDkmCustomStopNotification 之前调用 IDkmCustomStopReceived。 在此通知中,无法导致目标进程执行 (无 func-eval、无滑) 。

CustomStop 事件允许 concord 组件将停止事件引发到自定义 UI 组件或更高级别的 Concord 组件。

可以通过调用 DkmEventDescriptorS.Suppress () 来禁止显示 CustomStop 事件。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、SourceId、TransportKind。

IDkmCustomVisualizer

此接口由自定义表达式计算器可视化工具实现,以便以编程方式自定义表达式的视图。 这通常是为了支持使用本机可视化工具语法无法实现的可视化效果,或者为了在没有完整符号信息的情况下启用可视化。 可视化工具可以完全控制表达式(包括子项的扩展),也可以从表达式计算器获取默认表达式,稍微修改它,但将其他操作(如扩展)推迟回 EE。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:EngineId、RuntimeId、SourceId、SymbolProviderId、VisualizerId。

IDkmCustomVisualizerCallback

此接口实现表达式计算器,以允许 EEaddin 回调到表达式计算器。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:EngineId、RuntimeId、SourceId、SymbolProviderId、VisualizerId。

IDkmDataBreakpointErrorInfoClient

数据断点绑定后接口失败。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SourceId。

此 API 是在 Visual Studio 16 RTM (DkmApiVersion.VS16RTM) 中引入的。

IDkmDataBreakpointHitNotification

IDkmDataBreakpointHitNotification 由想要侦听 DataBreakpointHit 事件的组件实现。 IDkmDataBreakpointHitReceived 的所有实现之后调用 IDkmDataBreakpointHitNotification。 调用此通知时,目标进程将停止,实现者能够检查进程或使其以受控方式执行, (滑动、func-eval) 。

提供命中挂起断点的通知,并提供额外的数据断点信息。 进程现已停止,并包含其他信息。

可以通过调用 DkmEventDescriptorS.Suppress () 来取消 DataBreakpointHit 事件。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、CompilerVendorId、EngineId、LanguageId、SourceId。

此 API 是在 Visual Studio 16 RTM (DkmApiVersion.VS16RTM) 中引入的。

IDkmDataBreakpointHitReceived

IDkmDataBreakpointHitReceived 由要侦听 DataBreakpointHit 事件的组件实现。 在 IDkmDataBreakpointHitNotification 之前调用 IDkmDataBreakpointHitReceived。 在此通知中,无法导致目标进程执行 (无 func-eval、无滑) 。

提供命中挂起断点的通知,并提供额外的数据断点信息。 进程现已停止,并包含其他信息。

可以通过调用 DkmEventDescriptorS.Suppress () 来取消 DataBreakpointHit 事件。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、CompilerVendorId、EngineId、LanguageId、SourceId。

此 API 是在 Visual Studio 16 RTM (DkmApiVersion.VS16RTM) 中引入的。

IDkmDataBreakpointInfoProvider

负责提供与数据断点相关的信息的接口。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:CompilerVendorId、EngineId、LanguageId、RuntimeId、SymbolProviderId。

此 API 是在 Visual Studio 15 Update 8 (DkmApiVersion.VS15Update8) 中引入的。

IDkmDataBreakpointInfoProvider160

IDkmDataBreakpointInfoProvider 的扩展,允许表达式计算器为数据断点提供显示名称。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:CompilerVendorId、EngineId、LanguageId、RuntimeId、SymbolProviderId。

此 API 是在 Visual Studio 16 RTM (DkmApiVersion.VS16RTM) 中引入的。

IDkmDebugMonitorExceptionNotification

IDkmDebugMonitorExceptionNotification 由想要侦听 DebugMonitorException 事件的组件实现。 当此通知触发时,目标进程将暂停并可以检查。 “DebugMonitorException”事件从调试监视器提供有关目标进程中发生的异常的通知。 此事件通知由异常管理器使用,调试监视器在检测到异常的调试监视器上方的组件级别运行。 更高级别的组件应改用异常触发器。 有关详细信息,请参阅 DkmExceptionTrigger。

如果 (DkmExceptionProcessingStage.Unhandled 设置) 发送异常,IDE 将停止。 其他异常可能会停止,具体取决于 AD7 AL 或其他组件设置的任何 DkmExceptionTriggers。 AD7 AL 从 %VSRegistryRoot%\AD7Metrics\Exception%CategoryGuid%*读取默认的触发器集。

可通过调用 DkmEventDescriptorS.Suppress () 来取消 DebugMonitorException 事件。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、ExceptionCategory、RuntimeId。

IDkmDeploymentCommandCallback

由 DkmDeploymentCommand.Start 的调用方实现的回调接口,用于接收部署命令中的事件通知。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:SourceId、TransportKind。

IDkmDisassemblyFunctionLabelProvider

提供格式化反汇编所需的符号。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:CompilerVendorId、LanguageId、SymbolProviderId、TransportKind。

此 API 是在 Visual Studio 16 Update 3 (DkmApiVersion.VS16Update3) 中引入的。

IDkmDisassemblyProvider

用于反汇编调试对象地址空间中的指令。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

IDkmDisassemblyRuntimeAddressResolver

允许运行时提供地址到符号名称解析,以便在反汇编窗口中使用。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、TransportKind。

此 API 是在 Visual Studio 16 Update 7 (DkmApiVersion.VS16Update7) 中引入的。

IDkmDisassemblySymbolProvider

提供格式化反汇编所需的符号。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:CompilerVendorId、LanguageId、SymbolProviderId、TransportKind。

此 API 是在 Visual Studio 16 RTM (DkmApiVersion.VS16RTM) 中引入的。

IDkmDumpWriter

此接口包含用于写出调试对象进程的转储文件的 API。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

IDkmEditAndContinueService

由编辑并继续引擎实现的接口,以支持状态查询服务。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:RuntimeId、SymbolProviderId。

此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引入的。

IDkmEmbeddedBreakpointHitNotification

IDkmEmbeddedBreakpointHitNotification 由想要侦听 EmbeddedBreakpointHit 事件的组件实现。 IDkmEmbeddedBreakpointHitNotification 是在 IDkmEmbeddedBreakpointHitReceived 的所有实现之后调用的。 调用此通知时,目标进程将停止,实现者能够检查进程或使其以受控方式执行, (滑动、func-eval) 。

在遇到嵌入断点异常时由异常管理器发送。 异常管理器下的组件必须改为侦听特定于平台的异常事件。

可以禁止显示 EmbeddedBreakpointHit 事件。 如果此事件到达 AD7 层,调试器将进入中断模式。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

IDkmEmbeddedBreakpointHitReceived

IDkmEmbeddedBreakpointHitReceived 由想要侦听 EmbeddedBreakpointHit 事件的组件实现。 在 IDkmEmbeddedBreakpointHitNotification 之前调用 IDkmEmbeddedBreakpointHitReceived。 在此通知中,无法导致目标进程执行 (无 func-eval、无滑) 。

在遇到嵌入断点异常时由异常管理器发送。 异常管理器下的组件必须改为侦听特定于平台的异常事件。

可以禁止显示 EmbeddedBreakpointHit 事件。 如果此事件到达 AD7 层,调试器将进入中断模式。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

IDkmEmbeddedDocumentProvider

此 API 用于检索嵌入在符号文件中的源代码文档。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:RuntimeId、SymbolProviderId。

此 API 是在 Visual Studio 15 Update 5 (DkmApiVersion.VS15Update5) 中引入的。

IDkmEmbeddedDocumentProvider158

此 API 在 vsdbg 方案中用于确定给定指令是否位于嵌入文档中,而不获取文档的内容。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:RuntimeId、SymbolProviderId。

此 API 是在 Visual Studio 15 Update 8 (DkmApiVersion.VS15Update8) 中引入的。

IDkmEmbeddedDocumentProvider165

此 API 用于检查是否存在嵌入文档、枚举嵌入文档以及获取文档内容。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:CompilerVendorId、LanguageId、SymbolProviderId。

此 API 是在 Visual Studio 16 Update 5 (DkmApiVersion.VS16Update5) 中引入的。

IDkmEntryPointNotification

IDkmEntryPointNotification 由想要侦听 EntryPoint 事件的组件实现。 IDkmEntryPointNotification 是在 IDkmEntryPointReceived 的所有实现之后调用的。 调用此通知时,目标进程将停止,实现者能够检查进程或使其以受控方式执行, (滑动、func-eval) 。

命中入口点断点时,从断点管理器触发。

不能禁止显示 EntryPoint 事件。 若要替代入口点,请实现 IDkmEntryPointQuery。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

IDkmEntryPointReceived

IDkmEntryPointReceived 由要侦听 EntryPoint 事件的组件实现。 IDkmEntryPointReceived 在 IDkmEntryPointNotification 之前调用。 在此通知中,无法导致目标进程执行 (无 func-eval、无滑) 。

命中入口点断点时,从断点管理器触发。

不能禁止显示 EntryPoint 事件。 若要替代入口点,请实现 IDkmEntryPointQuery。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

IDkmExceptionAnalyzer

允许协和组件分析异常并改进问题描述的接口。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、ExceptionCategory、RuntimeId、SourceId。

此 API 是在 Visual Studio 14 Update 1 (DkmApiVersion.VS14Update1) 中引入的。

IDkmExceptionContinuedNotification

IDkmExceptionContinuedNotification 由想要侦听 ExceptionContinued 事件的组件实现。 当此通知触发时,目标进程将暂停并可以检查。 在目标进程中恢复执行且未压缩给定异常时,调试监视器会发送 ExceptionContinued。 换句话说,目标进程将继续执行其标准异常处理。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、ExceptionCategory、RuntimeId。

IDkmExceptionController

IDkmExceptionController 由运行时调试监视器实现,这些监视器 (DkmExceptionInformation.OnDebugMonitorException () ) 触发异常事件。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、ExceptionCategory、RuntimeId。

IDkmExceptionDetailsProvider

此接口允许调试监视器以异常详细信息的形式提供有关异常的其他信息。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:EngineId、ExceptionCategory、RuntimeId。

此 API 是在 Visual Studio 15 RTM (DkmApiVersion.VS15RTM) 中引入的。

IDkmExceptionDetailsProvider164

此接口允许对异常(特别是原始调用堆栈)进行扩展查询。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:EngineId、ExceptionCategory、RuntimeId。

此 API 是在 Visual Studio 16 Update 4 (DkmApiVersion.VS16Update4) 中引入的。

IDkmExceptionDetailsProvider173

用于实现 DkmExceptionDetails.GetStackTraceInstructionAddresses 的接口。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:EngineId、ExceptionCategory、RuntimeId。

此 API 是在 Visual Studio 16 Update 4 (DkmApiVersion.VS16Update4) 中引入的。

IDkmExceptionFormatter

IDkmExceptionFormatter 由触发异常事件的运行时调试监视器实现。 与 IDkmExceptionController 不同,每个异常类别通常都有一个 IDkmExceptionFormatter 实现。 例如,虽然多个基本调试监视器实现能够检测 Win32 异常,但只需要一个格式化程序实现。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、ExceptionCategory、RuntimeId。

IDkmExceptionManager

由异常管理器组件实现的接口,允许启用或禁用异常触发器。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

IDkmExceptionManager140

这是 IDkmExceptionManager 的更新版本,它是为 Visual Studio 14.0 添加的,用于从异常管理器中删除异常触发器。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引入的。

IDkmExceptionStackTraceProvider

允许实现维护捕获的堆栈跟踪的异常对象的库向调试器公开此堆栈跟踪。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、ExceptionCategory、RuntimeId。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 中引入的。

IDkmExceptionTriggerHitNotification

IDkmExceptionTriggerHitNotification 是由想要侦听 ExceptionTriggerHit 事件的组件实现的。 IDkmExceptionTriggerHitNotification 是在 IDkmExceptionTriggerHitReceived 的所有实现之后调用的。 调用此通知时,目标进程将停止,实现者能够检查进程或使其以受控方式执行, (滑动、func-eval) 。

“ExceptionTriggerHit”事件提供已满足以前设置的 DkmExceptionTrigger 的通知。

可以通过调用 DkmEventDescriptorS.Suppress () 来取消 ExceptionTriggerHit 事件。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、ExceptionCategory、RuntimeId、SourceId。

IDkmExceptionTriggerHitReceived

IDkmExceptionTriggerHitReceived 由要侦听 ExceptionTriggerHit 事件的组件实现。 在 IDkmExceptionTriggerHitNotification 之前调用 IDkmExceptionTriggerHitReceived。 在此通知中,无法导致目标进程执行 (无 func-eval、无滑) 。

“ExceptionTriggerHit”事件提供已满足以前设置的 DkmExceptionTrigger 的通知。

可以通过调用 DkmEventDescriptorS.Suppress () 来取消 ExceptionTriggerHit 事件。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、ExceptionCategory、RuntimeId、SourceId。

IDkmExceptionWinRTErrorExtractor

异常管理器调用 IDkmExceptionWinRTErrorExtractor,以从 JavaScript/CLR/C++/etc 异常中提取 WinRT 增强的错误信息。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、ExceptionCategory、RuntimeId。

IDkmExtendedRegisters

从线程上下文中获取扩展寄存器。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

IDkmFrameExceptionInterceptProvider

此接口由调试监视器实现,这些监视器支持将异常展开到特定帧。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId、TransportKind。

IDkmFramePseudoLocalResultProvider

允许提供要包含在帧局部变量中的附加节点,可通过伪寄存器名称进行标识。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:CompilerVendorId、EngineId、LanguageId、RuntimeId。

此 API 是在 Visual Studio 15 Update 8 (DkmApiVersion.VS15Update8) 中引入的。

IDkmFuncEvalCompletedNotification

IDkmFuncEvalCompletedNotification 由想要侦听 FuncEvalCompleted 事件的组件实现。 在此通知期间,目标进程可以继续运行。 FuncEvalCompleted 事件在函数评估完成后发送。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

IDkmFuncEvalStartingNotification

IDkmFuncEvalStartingNotification 由要侦听 FuncEvalStarting 事件的组件实现。 在此通知期间,目标进程可能会继续运行。 FuncEvalStarting 事件在函数评估开始前发送。 在嵌套中断状态的情况下,每个新函数评估都会触发另一个 FuncEvalStarting 事件。 在此方案中,目标停止,并且用户从触发 FuncEvalStarting 事件的即时窗口执行评估。 用户命中其计算函数中的断点,用户从该函数执行第二次评估,这会触发第二个 FuncEvalStarting 事件。 用户允许完成两个评估,这会触发两个 FuncEvalCompleted 事件。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

IDkmFunctionTableProvider

提供对进程的运行时函数表的访问的接口。 默认实现由 Microsoft 的本机调试监视器提供,该监视器能够在实时进程中查找加载的 Win32 模块和动态 PData 中的函数表。 此接口可由基本调试监视器实现,以便为非实时进程提供运行时函数表访问 (例如:minidumps) 。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

IDkmGetExpensiveHashValue177

提供用于计算和返回“昂贵”哈希的实际值的方法。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:CompilerVendorId、LanguageId、SymbolProviderId、TransportKind。

此 API 是在 Visual Studio 17 Update 7 (DkmApiVersion.VS17Update7) 中引入的。

IDkmGPUBreakpointBehaviorQuery

用于查询 GPU 调试断点行为的接口。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

IDkmGPUComputeKernelOperation

提供计算内核层次结构,即线程组、计算向量和计算线程,供用户查看。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

IDkmGPUDisassemblyQuery

用于查询 GPU 调试字节代码中的原始反汇编。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId、TransportKind。

IDkmGPUEnvironmentFilter

可选的内部接口,可以在启动 GPU 目标进程之前实现该接口来自定义它的环境。 在调试监视器端,可以实现此 API 或 IDkmGPUEnvironmentFilter。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:EngineId。

IDkmGPUMemoryOperation

由基本调试监视器实现,以提供对目标 GPU 进程的内存的访问。 基本调试监视器负责执行内存 I/O。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

IDkmGpuRaceHazardsAllowSameNotification

启用或禁用“IsGpuRaceHazardsAllowSameSettingEnabled”时更新组件的接口。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId。

IDkmGPURegisterOperation

由基本调试监视器实现,以提供对 GPU 计算线程寄存器的访问权限。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

IDkmGPUSetMemoryAccessWarningOperation

IDkmGPUSetMemoryAccessWarningOperation 用于在调试的 GPU 设备上配置 GPU 内存访问警告。 它由支持报告 GPU 内存访问异常的基本调试监视器实现。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

IDkmGPUSingleStepCompleteNotification

IDkmGPUSingleStepCompleteNotification 由要侦听 GPUSingleStepComplete 事件的组件实现。 IDkmGPUSingleStepCompleteReceived 的所有实现之后调用 IDkmGPUSingleStepCompleteNotification。 调用此通知时,目标进程将停止,实现者能够检查进程或使其以受控方式执行, (滑动、func-eval) 。

单步执行 GPU 线程完成时发送。 事件可由同一扭曲中请求线程的不同线程触发。

GPUSingleStepComplete 事件可以通过调用 DkmEventDescriptorS.Suppress () 来抑制。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、SourceId。

IDkmGPUSingleStepCompleteReceived

IDkmGPUSingleStepCompleteReceived 由要侦听 GPUSingleStepComplete 事件的组件实现。 在 IDkmGPUSingleStepCompleteNotification 之前调用 IDkmGPUSingleStepCompleteReceived。 在此通知中,无法导致目标进程执行 (无 func-eval、无滑) 。

单步执行 GPU 线程完成时发送。 事件可由同一扭曲中请求线程的不同线程触发。

GPUSingleStepComplete 事件可以通过调用 DkmEventDescriptorS.Suppress () 来抑制。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、SourceId。

IDkmGPUSymbolProviderCallback

由 GPU 符号提供程序实现的回调接口,用于将符号存储中的信息提供给基本调试监视器。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:SymbolProviderId。

IDkmGPUSymbolQuery

此 API 用于读取有关 DPC++ 符号的信息。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:CompilerVendorId、LanguageId、SymbolProviderId、TransportKind。

IDkmGPUSymbolQueryCallback

当符号提供程序位于 VS 计算机上时,允许远程组件获取 DPC++ 的源位置信息。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:RuntimeId、SymbolProviderId。

IDkmGPUTempBreakStepper

由 GPU 基本调试监视器实现的接口,用于在单步执行中启用临时指令断点。 临时指令断点将传递给 ContinueDebugEvent。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、SourceId。

IDkmGroupCompiledInspectionQueryProcessor

用于执行已编译的组表达式处理。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:CompiledInspectionQueryKind、CompilerVendorId、EngineId、LanguageId、RuntimeId。

IDkmGroupLanguageExpressionEvaluator

此接口允许语言扩展提供计算一组线程上的表达式的功能。 它通常应由所有语言扩展实现。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、CompilerVendorId、EngineId、LanguageId、RuntimeId。

IDkmHeuristicStackWalker

IDkmHeuristicStackWalker 由堆栈提供程序调用。 尝试遍历没有符号的帧时会调用它。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId。

IDkmHiddenEntryPointNotification

IDkmHiddenEntryPointNotification 由想要侦听 HiddenEntryPoint 事件的组件实现。 IDkmHiddenEntryPointNotification 是在 IDkmHiddenEntryPointReceived 的所有实现之后调用的。 调用此通知时,目标进程将停止,实现者能够检查进程或使其以受控方式执行, (滑动、func-eval) 。

在隐藏代码中命中入口点断点时,从断点管理器触发。 实际的 EntryPoint 将延迟到我们保留隐藏的代码,如果找不到适当的打开,甚至可能不会触发。 此外,还会针对任何必要的幕后工作触发 HiddenEntryPoint。

无法取消 HiddenEntryPoint 事件。 若要替代入口点,请实现 IDkmHiddenEntryPointQuery。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引入的。

IDkmHiddenEntryPointReceived

IDkmHiddenEntryPointReceived 由要侦听 HiddenEntryPoint 事件的组件实现。 在 IDkmHiddenEntryPointNotification 之前调用 IDkmHiddenEntryPointReceived。 在此通知中,无法导致目标进程执行 (无 func-eval、无滑) 。

在隐藏代码中命中入口点断点时,从断点管理器触发。 实际的 EntryPoint 将延迟到我们保留隐藏的代码,如果找不到适当的打开,甚至可能不会触发。 此外,还会针对任何必要的幕后工作触发 HiddenEntryPoint。

无法取消 HiddenEntryPoint 事件。 若要替代入口点,请实现 IDkmHiddenEntryPointQuery。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引入的。

IDkmHostingProcessShowNotification

由希望了解托管进程的活动 (非隐藏) 调试 ((例如:my_app.vshost.exe) 开始)的组件实现的接口。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引入的。

IDkmIISDebuggingServices

用于向 SDM 提供 IIS 调试设施的接口。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:TransportKind。

IDkmIISResolver

用于在 Visual Studio 计算机上提供 URL-Work> 进程解析的接口。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:TransportKind。

IDkmIISResolver160

用于为分析方案提供 URL-Worker> 进程解析的接口。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:TransportKind。

此 API 是在 Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview) 中引入的。

IDkmIISResolver170

用于提供 IIS 应用程序池信息的接口。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:TransportKind。

此 API 是在 Visual Studio 17 RTM (DkmApiVersion.VS17RTM) 中引入的。

IDkmILFailureReasonResolver

将 DkmILFailureReason 解析为错误消息。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:CompiledInspectionQueryKind、CompilerVendorId、EngineId、LanguageId、RuntimeId。

此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引入的。

IDkmILInterpreter

用于解释 IL 的接口。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId、TransportKind。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 中引入的。

IDkmInlineFrameCount

此 API 用于确定某个位置的内联帧数。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:RuntimeId、SymbolProviderId。

此 API 是在 Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview) 中引入的。

IDkmInlineSourceSymbolQuery

此 API 用于读取内联符号信息。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:RuntimeId、SymbolProviderId。

此 API 是在 Visual Studio 15 RTM (DkmApiVersion.VS15RTM) 中引入的。

IDkmInstructionAddressOperator

用于为指令地址提供运行时特定操作的接口。 对于本机和托管指令,此服务由符号提供程序提供。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId。

IDkmInstructionAddressProvider

用于提供特定于进程的指令地址的接口。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

IDkmInstructionAddressResolver

提供特定于运行时的 CPU 地址解析的接口。 这可以在服务器或客户端上实现, (例如 CLR 本机编译) 。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId。

IDkmInstructionPatchNotification

接口由希望在基本调试监视器对指令流执行内存写入时接收通知的组件实现。 此接口只能在监视过程中实现。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

IDkmInstructionStepper

接口由基本调试监视器实现,以提供指令级步进基元。 运行时调试监视器使用此接口来实现用户级执行控制。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、SourceId。

IDkmInterceptExceptionCompletedNotification

IDkmInterceptionCompletedNotification 由要侦听 InterceptExceptionCompleted 事件的组件实现。 在 IDkmInterceptionCompletedReceived 的所有实现之后调用 IDkmInterceptionCompletedNotification。 调用此通知时,目标进程将停止,实现者能够检查进程或使其以受控方式执行, (滑动、func-eval) 。

在异常解除到指定帧后,由调试监视器发送。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

IDkmInterceptExceptionCompletedReceived

IDkmInterceptionCompletedReceived 由要侦听 InterceptExceptionCompleted 事件的组件实现。 在 IDkmInterceptionCompletedNotification 之前调用 IDkmInterceptionCompletedReceived。 在此通知中,无法导致目标进程执行 (无 func-eval、无滑) 。

在异常解除到指定帧后,由调试监视器发送。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

IDkmIntrinsicFunctionEvaluator

此接口允许表达式计算器指定要通过 IL 调用的内部操作,EE 负责实现该操作。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:LanguageId、SourceId。

IDkmIntrinsicFunctionEvaluator140

此接口允许表达式计算器指定要通过 IL 调用的内部操作,EE 负责实现该操作。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:LanguageId、SourceId。

此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引入的。

IDkmJustMyCodeEnableNotification

用于在启用或禁用 JustMyCode 时更新组件的接口。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId。

IDkmJustMyCodeProvider

用于确定特定位置是否为用户代码的接口。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 中引入的。

IDkmLanguageAsyncStepper

此接口由语言实现,为异步方法启用单步执行行为。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:CompilerVendorId、EngineId、LanguageId、RuntimeId。

IDkmLanguageConditionEvaluator

此接口由实时或目标计算机并希望支持条件断点的表达式计算器实现。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:CompilerVendorId、EngineId、LanguageId、RuntimeId。

IDkmLanguageExpressionCompiler

此接口允许语言扩展预先编译断点条件,以便在命中断点时快速计算相同的表达式。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:CompilerVendorId、EngineId、LanguageId、RuntimeId。

IDkmLanguageExpressionEvaluator

此接口允许语言扩展在调试器的各种数据检查窗口中计算表达式, (watch、自动、即时、内存、反汇编等) 。 它通常应由所有语言扩展实现。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:CompilerVendorId、EngineId、LanguageId、RuntimeId。

IDkmLanguageFrameDecoder

此接口允许语言扩展在调用堆栈窗口中设置函数名称显示的格式。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、CompilerVendorId、EngineId、LanguageId、RuntimeId。

IDkmLanguageInstructionDecoder

此接口允许语言扩展格式化断点窗口中“函数”列的显示,以及其他尝试设置指令地址格式的位置。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:CompilerVendorId、EngineId、LanguageId、RuntimeId。

IDkmLanguageObjectIdProvider

这是表达式计算器实现的可选接口。 它应由使用“CanHaveObjectId”标志返回计算结果的表达式计算器实现。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:CompilerVendorId、EngineId、LanguageId、RuntimeId、SymbolProviderId。

IDkmLanguageReturnValueEvaluator

此接口允许语言扩展评估运行时在单步执行期间收集的返回值。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、CompilerVendorId、EngineId、LanguageId、RuntimeId。

IDkmLanguageReturnValueEvaluator2

此接口允许语言扩展评估运行时在单步执行期间收集的返回值。 这是 IDkmLanguageReturnValueEvaluator 的替代,它允许组件检索与返回值关联的数据项。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、CompilerVendorId、EngineId、LanguageId、RuntimeId。

此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引入的。

IDkmLanguageStepIntoFilterCallback

此接口允许语言扩展影响本机运行时的 Step-Into 行为。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:CompilerVendorId、EngineId、LanguageId、RuntimeId。

IDkmLaunchResumeProcess

IDkmLaunchResumeProcess 用于启动和恢复进程。 它从 F5 中的调试监视器和 Ctrl-F5 中的传输调用。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

IDkmLaunchResumeProcess150

扩展为 IDkmLaunchResumeProcess,以支持在恢复期间传递创建的 DkmProcess。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

此 API 是在 Visual Studio 15 Update 3 (DkmApiVersion.VS15Update3) 中引入的。

IDkmLoadCompleteNotification

IDkmLoadCompleteNotification 由要侦听 LoadComplete 事件的组件实现。 触发此通知时,目标进程将暂停并可以检查。 启动或附加到进程完成时,基本调试监视器会发送 LoadComplete。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

IDkmManagedAsyncTaskDecoder

获取信息以构造托管任务的延续帧。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:EngineId、SymbolProviderId。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 中引入的。

IDkmManagedFuncEvalQuickAbortServices

支持托管 func-eval 快速中止的接口。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、TransportKind。

IDkmManagedFuncEvalServices

由托管调试监视器提供的接口,用于继续执行托管函数评估的过程。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、TransportKind。

IDkmManagedFuncEvalServices150

由托管调试监视器提供的接口,用于继续执行托管函数评估的过程。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、TransportKind。

此 API 是在 Visual Studio 15 RTM (DkmApiVersion.VS15RTM) 中引入的。

IDkmManagedHeapPathsToRootProvider

由托管 dm 实现的接口,允许浏览托管堆。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:EngineId、RuntimeId。

此 API 是在 Visual Studio 17 Update 2 (DkmApiVersion.VS17Update2) 中引入的。

IDkmManagedHeapSampler

由采样器实现的接口,以获取采样的托管堆。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:EngineId、RuntimeId。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 中引入的。

IDkmManagedHeapSampler174

由堆采样器实现的接口,以延迟根分析。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:EngineId、RuntimeId。

此 API 是在 Visual Studio 17 Update 4 (DkmApiVersion.VS17Update4) 中引入的。

IDkmManagedHeapSampler175

由堆采样器实现的接口,用于检测重复字符串。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:EngineId、RuntimeId。

此 API 是在 Visual Studio 17 Update 5 (DkmApiVersion.VS17Update5) 中引入的。

IDkmManagedHeapSampler176

由堆采样器实现的接口,用于检测重复字符串。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:EngineId、RuntimeId。

此 API 是在 Visual Studio 17 Update 6 (DkmApiVersion.VS17Update6) 中引入的。

IDkmManagedHeapSampler177

由托管堆采样器实现的接口,用于检索段和分析重复字符串。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:EngineId、RuntimeId。

此 API 是在 Visual Studio 17 Update 7 (DkmApiVersion.VS17Update7) 中引入的。

IDkmManagedHeapSampler178

由堆采样器实现的接口,用于检测事件处理程序泄漏。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:EngineId、RuntimeId。

此 API 是在 Visual Studio 17 Update 8 (DkmApiVersion.VS17Update8) 中引入的。

IDkmManagedHeapWalker

由托管 dm 实现的接口,允许浏览托管堆。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:EngineId、RuntimeId。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 中引入的。

IDkmManagedHeapWalker175

由托管 DM 实现的用于查找字符串类型的接口。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:EngineId、RuntimeId。

此 API 是在 Visual Studio 17 Update 5 (DkmApiVersion.VS17Update5) 中引入的。

IDkmManagedHeapWalker177

由托管 DM 实现的接口,允许浏览托管堆。 公开与跟踪本机对象的托管引用相关的方法。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:EngineId、RuntimeId。

此 API 是在 Visual Studio 17 Update 7 (DkmApiVersion.VS17Update7) 中引入的。

IDkmManagedReturnValueFetcher

从 ManagedDM 获取托管返回值信息以进行评估。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 中引入的。

IDkmManagedSteppingCodePathProvider

由 ManagedDM 用于查询代码路径信息。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、TransportKind。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 中引入的。

IDkmManagedTaskServices

为任务提供程序和调试监视器提供服务,以获取托管任务信息。 这由 Shim 托管的 EE 实现。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、TransportKind。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 中引入的。

IDkmManagedTaskServices158

向任务提供程序和调试监视器提供服务,以获取托管任务信息。 这由 CLR 检查器实现。 此接口在将来的版本中可能会发生更改。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:EngineId、RuntimeId。

此 API 是在 Visual Studio 15 Update 8 (DkmApiVersion.VS15Update8) 中引入的。

IDkmManagedThreadProperties

公开托管线程的属性,例如托管线程 ID。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

IDkmMCppSymbolProvider

托管 C++ 的符号提供程序。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:RuntimeId、SymbolProviderId。

此 API 是在 Visual Studio 14 Update 1 (DkmApiVersion.VS14Update1) 中引入的。

IDkmMemoryOperation

由基本调试监视器实现,以提供对目标进程的内存的访问。 此接口也由更高级别的组件实现,以提供内存缓存。 基本调试监视器负责执行内存 I/O、维护不可见写入表,以及通过 DkmProcess.OnInstructionPatchInserted/Removed) (更新不可见写入表时提供事件。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

IDkmMergedMonitorStackWalk

IDkmMergedMonitorStackWalk 由堆栈提供程序调用。 它将在 IDkmMonitorStackWalk 的各种实现之间进行仲裁,以遍历应 (监视器内部的堆栈部分,而不是在引擎) 内行走。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId。

IDkmMergedMonitorStackWalk164

IDkmMergedMonitorStackWalk164 由堆栈提供程序调用。 它将在 IDkmMonitorStackWalk 的各种实现之间进行仲裁,以遍历应 (监视器内部的堆栈部分,而不是在引擎) 内行走。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId。

此 API 是在 Visual Studio 16 Update 4 (DkmApiVersion.VS16Update4) 中引入的。

IDkmMinidumpQuery

获取有关正在调试的小型转储的信息。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 中引入的。

IDkmMinidumpQuery1610

获取有关正在调试的小型转储的信息。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

此 API 是在 Visual Studio 16 Update 10 (DkmApiVersion.VS16Update10) 中引入的。

IDkmMinidumpThreadInfo

获取存储在微型转储中的线程状态信息。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

此 API 是在 Visual Studio 17 RTM (DkmApiVersion.VS17RTM) 中引入的。

IDkmModuleCreateNotification

IDkmModuleCreateNotification 由要侦听 ModuleCreate 事件的组件实现。 在此通知期间,目标进程可以继续运行。 当符号提供程序加载新符号时,将发送 ModuleCreate,从而创建新的 DkmModule。 只有具有符号的模块实例存在 DkmModule。

ModuleCreate 事件可以禁止显示。 在这种情况下,模块对高于禁止显示模块的级别的组件不可见。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:CompilerVendorId、LanguageId、SymbolProviderId、TransportKind。

IDkmModuleInstanceDisabledNotification

调试监视器实现的接口,用于在模块的“Disabled”属性更改时执行任何更新。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId、TransportKind。

IDkmModuleInstanceLoadNotification

IDkmModuleInstanceLoadNotification 由想要侦听 ModuleInstanceLoad 事件的组件实现。 当此通知触发时,目标进程将暂停并可以检查。 当模块由目标进程加载时,将触发 ModuleInstanceLoad。 除其他事项外,此事件用于符号提供程序加载符号,以及断点管理器设置断点。 即使没有加载任何符号,ModuleInstanceLoad 也会针对所有模块触发。

ModuleInstanceLoad 事件可以取消。 在这种情况下,模块对高于禁止显示模块的级别的组件不可见。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId、TransportKind。

IDkmModuleInstanceUnloadNotification

IDkmModuleInstanceUnloadNotification 由想要侦听 ModuleInstanceUnload 事件的组件实现。 当此通知触发时,目标进程将暂停并可以检查。 当监视器检测到模块已从目标进程中卸载时,将发送 ModuleInstanceUnload。

ModuleInstanceUnload 事件无法取消。 但是,如果取消了 ModuleLoad 事件,则 ModuleUnload 将在取消 ModuleLoad 的级别停止处理。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId、TransportKind。

IDkmModuleLocator

由支持调试转储的调试监视器实现的接口,使 UI 能够搜索最初加载转储时未找到的二进制文件。 如果用户在搜索二进制文件时选择路径,则 UI 会更新符号路径。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId、TransportKind。

IDkmModuleMetadataStatusQuery

当托管的小型转储调试时, 确定元数据是否可用于给定的模块实例。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId、TransportKind。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 中引入的。

IDkmModuleModifiedNotification

组件应实现此接口,以在模块因 EnC 或动态发出代码而更改时收到通知。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId、TransportKind。

此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引入的。

IDkmModuleSymbolSearchResult175

允许检索模块实例的符号搜索结果。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId、TransportKind。

此 API 是在 Visual Studio 17 Update 3 (DkmApiVersion.VS17Update3) 中引入的。

IDkmModuleSymbolsLoaded

基本调试监视器实现的接口,用于触发符号加载事件。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId、TransportKind。

IDkmModuleSymbolsLoadedNotification

IDkmModuleSymbolsLoadedNotification 由想要侦听 ModuleSymbolsLoaded 事件的组件实现。 当此通知触发时,目标进程将暂停并可以检查。 ModuleSymbolsLoaded 是在为特定模块实例加载符号后发送的。 当符号作为 dll/exe 加载到目标进程中加载时,或在用户要求重新加载符号后,会发送此代码。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId、TransportKind。

IDkmModuleSymbolsReload

允许替换 DkmModule 基础的符号文件。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId、TransportKind。

此 API 是在 Visual Studio 16 Update 5 (DkmApiVersion.VS16Update5) 中引入的。

IDkmModuleSymbolsReload175

允许替换 DkmModule 基础的 ISymUnmanagedReader。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId、TransportKind。

此 API 是在 Visual Studio 17 Update 3 (DkmApiVersion.VS17Update3) 中引入的。

IDkmModuleSymbolsReplacedNotification

IDkmModuleSymbolsReplacedNotification 是由想要侦听 ModuleSymbolsReplaced 事件的组件实现的。 在此通知期间,目标进程可以继续运行。 当替换模块的符号时,将触发 ModuleSymbolsReplaced。 通常,由于反编译等操作。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:CompilerVendorId、LanguageId、SymbolProviderId、TransportKind。

此 API 是在 Visual Studio 16 Update 5 (DkmApiVersion.VS16Update5) 中引入的。

IDkmModuleSymbolsUpdatedNotification

IDkmModuleSymbolsUpdatedNotification 是由想要侦听 ModuleSymbolsUpdated 事件的组件实现的。 当此通知触发时,目标进程将暂停并可以检查。 当目标进程中的动态代码更新符号状态时,调试监视器会发送 ModuleSymbolsUpdated。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId、TransportKind。

IDkmModuleUserCodeDeterminer

实现的接口为模块提供 Just-My-Code 状态。 为了支持模块窗口,此接口应在 IDE 组件中实现,但如果有用,也可以在监视器端实现。 Microsoft 在托管代码的监视器端实现此接口,但不是本机代码。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId、TransportKind。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 中引入的。

IDkmMonitorStackWalk

检查来自特定 DkmRuntimeInstance 的堆栈部分,并从此运行时返回帧。 IDkmMonitorStackWalk 用于在目标计算机上执行此步进,并且通常不带符号进行此行走。 应注意的是,准确的监视器堆栈遍程通常需要:1。 运行时监视器可以完全了解其基础运行时的调用约定,运行时采用某种机制,这样它就不需要从堆栈上的其他运行时访问代码。 例如,CLR 维护堆栈范围,因此当托管代码调用到本机时,CLR 仍可以找到托管代码,而无需遍历本机代码。 - 或 - 2. 所有代码都需要遵循的统一调用约定。 例如,所有代码都必须在 x64 和 IA-64 版本的 Windows 上遵循统一的调用约定。 Microsoft 将提供 IDkmMonitorStackWalk 的五个实现:1。 ICorDebug v2 2 的实现。 ICorDebug v4 3 的实现。 x64/ia64 PDATA 步行的实现。 4. ActiveScript 的实现。 5. 默认实现,将未知区域捆绑在一起,以在引擎进程中执行。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId。

IDkmNameUndecorator

此 API 用于取消修饰符号名称。 Microsoft 提供此实现来取消修饰 PDB 中的符号名称。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:CompilerVendorId、LanguageId、SymbolProviderId、TransportKind。

IDkmNativeCppEditAndContinueNotification

由组件实现的接口,用于侦听本机 ENC 通知。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId、TransportKind。

此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引入的。

IDkmNativeDebuggingEnableNotification

在为特定进程启用或禁用本机调试时更新组件的接口。 请注意,对于 Visual Studio 11,无法动态启用/禁用本机调试,但将来的版本可能支持此功能。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

IDkmNativeEditAndContinueUpdate

由本机编辑和继续引擎实现的接口,以提供应用挂起的代码更改、验证和提交。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、TransportKind。

此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引入的。

IDkmNativeEditAndContinueUpdate140A

由本机编辑并继续引擎实现的接口,以允许取消。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、TransportKind。

此 API 是在 Visual Studio 14 Update 1 (DkmApiVersion.VS14Update1) 中引入的。

IDkmNativeExportsEnableNotification

用于在启用或禁用“IsNativeExportsEnabled”时更新组件的接口。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId。

IDkmNativeExportTableDecoder

提供 Windows PE 文件中导出表的解码。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId。

IDkmNativeExportTableDecoder150

在 Windows PE 文件中提供导出表的其他解码。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId、TransportKind。

此 API 是在 Visual Studio 15 RTM (DkmApiVersion.VS15RTM) 中引入的。

IDkmNativeJustMyCodeProvider158

用于确定特定位置是否为用户代码的接口。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId。

此 API 是在 Visual Studio 15 Update 8 (DkmApiVersion.VS15Update8) 中引入的。

IDkmNativeJustMyCodeSteppingEnableNotification

用于在启用或禁用本机 JustMyCode 单步执行时更新组件的接口。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId。

此 API 是在 Visual Studio 15 Update 8 (DkmApiVersion.VS15Update8) 中引入的。

IDkmNativeStackCallback

为基本调试监视器和本机调试监视器提供一种机制,以获取有关可能需要符号支持的堆栈帧的信息。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

IDkmNativeSteppingCallSiteProvider

由 Native IDkmSteppingCodePathDecoder 实现者调用以枚举 Native CodePaths。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId。

IDkmNativeSymbolProviderCallback

由 PDB 符号提供程序实现的回调接口,用于将有关符号的信息返回到基本调试监视器。 此接口通常应在 Visual Studio 计算机上实现。 可能不会调用调试监视器端实现。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:SymbolProviderId。

IDkmNativeSymbolProviderCallback120a

可由本机符号提供程序实现并由本机 DM 使用以允许单步执行操作的可选接口。 如果未实现,本机 DM 将回退到 IDkmNativeSymbolProviderCallback.GetNativeInstructionMetadataCallback 和 IDkmSymbolProviderCallback.GetSteppingRanges。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:RuntimeId、SymbolProviderId。

此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引入的。

IDkmNatvisComplexityLimitChangedNotification

用于在更改 natvis 复杂性限制时更新组件的接口。

() 不支持筛选,则始终调用此接口的实现。 为了减少对内存的影响,建议在小型 dll 中实现此接口,或者使用“CallOnlyWhenLoaded=”true“配置实现。

此 API 是在 Visual Studio 17 Update 7 (DkmApiVersion.VS17Update7) 中引入的。

IDkmNatvisRecursionLimitChangedNotification

用于在更改 natvis 递归限制时更新组件的接口。

() 不支持筛选,则始终调用此接口的实现。 为了减少对内存的影响,建议在小型 dll 中实现此接口,或者使用“CallOnlyWhenLoaded=”true“配置实现。

此 API 是在 Visual Studio 17 Update 7 (DkmApiVersion.VS17Update7) 中引入的。

IDkmNonDebugProcessExitNotification

IDkmNonDebugProcessExitNotification 由想要侦听 NonDebugProcessExit 事件的组件实现。 在此通知期间,目标进程可能会继续运行。 当关联的非调试进程退出时,将触发 NonDebugProcessExit。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:TransportKind。

此 API 是在 Visual Studio 16 Update 9 (DkmApiVersion.VS16Update9) 中引入的。

IDkmObjectFavoritesProvider

为 IDE 提供在 EE 窗口中的对象上添加和删除收藏项的功能。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:CompilerVendorId、EngineId、LanguageId、RuntimeId、SymbolProviderId。

此 API 是在 Visual Studio 16 Update 4 (DkmApiVersion.VS16Update4) 中引入的。

IDkmOutOfBandExceptionNotification

IDkmOutOfBandExceptionNotification 由要侦听 OutOfBandException 事件的组件实现。 触发此通知时,目标进程将暂停并可以检查。 “OutOfBandException”事件从调试监视器提供有关托管/本机互操作调试时目标进程中发生的带外异常的通知。 异常管理器使用此事件通知。 带外事件可能随时发生, (包括停止) ,必须立即继续。

可以通过调用 DkmEventDescriptorS.Suppress () 来抑制 OutOfBandException 事件。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、ExceptionCategory、RuntimeId。

此 API 是在 Visual Studio 11 Update 1 (DkmApiVersion.VS11FeaturePack1) 中引入的。

IDkmOutOfBandProcessContinueNotification

在对进程内管道执行托管本机互操作调试时,当目标进程即将从带外调试事件恢复时提供通知。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

此 API 是在 Visual Studio 11 Update 1 (DkmApiVersion.VS11FeaturePack1) 中引入的。

IDkmOutOfProcessSymbolLoadingEnabledNotification

启用或禁用在进程外加载本机符号时更新组件的接口。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId。

此 API 是在 Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview) 中引入的。

IDkmPendingFileLineBreakpointCallback

此接口由希望将 DkmPendingFileLineBreakpoint 对象添加到断点管理器的组件实现。 断点管理器将在第一次绑定和“编辑并继续”应用期间查询当前位置。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、CompilerVendorId、EngineId、LanguageId、SourceId。

IDkmPerformanceMeasurement140

用于从调试对象收集性能数据的接口。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引入的。

IDkmProcessContinueNotification

在目标进程即将恢复时提供通知。 这将在用户命中 F5、开始 func-eval、暂停事件完成 (例如:模块加载) 或停止事件完成之后触发。 此事件的主要用途是允许组件刷新其拥有的任何缓存。

此通知可以从任何线程触发,但不会重新触发。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

IDkmProcessCreateNotification

IDkmProcessCreateNotification 由要侦听 ProcessCreate 事件的组件实现。 触发此通知时,目标进程将暂停并可以检查。 创建 DkmProcess 对象时,将触发 ProcessCreate。 这表示调试器已开始附加到指定的进程。 在启动方案中,在允许目标进程中的任何代码运行之前,会触发此事件。

实现只能根据目标进程中的代码类型粗略地进行筛选,并且处理程序也会在 UI 线程被阻止时运行,等待引擎返回。 出于这些原因, 通常更适合侦听 RuntimeInstanceLoad 事件。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

IDkmProcessDebuggerInitializeWaiter

由基本调试调试监视器实现的可选接口,这些监视器对多个进程使用相同的事件线程。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 中引入的。

IDkmProcessExecutionNotification

提供进程即将暂停或恢复执行的通知。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引入的。

IDkmProcessExitNotification

IDkmProcessExitNotification 由要侦听 ProcessExit 事件的组件实现。 在此通知期间,目标进程可能会继续运行。 当调试器不再调试指定进程时,将触发 ProcessExit。 原因可能是调试器已与指定进程分离,或者因为进程退出。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

IDkmProcessLaunchEnvironmentFilter

可选接口,可以在启动目标进程之前实现该接口来自定义目标进程的环境。 可以从两点自定义环境。 在 IDE 端,LaunchDebugTargets 的调用方可以指定环境块。 在调试监视器端,可以实现此 API。 如果 IDE 端没有足够的信息来正确指定环境,或者扩展无法控制对 LaunchDebugTargets 的调用,则建议使用此 API。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:EngineId。

IDkmProcessLaunchEnvironmentFilter140

可选接口,可以在启动目标进程之前实现该接口来自定义目标进程的环境。 这是为 Visual Studio 14.0 添加的 IDkmProcessLaunchEnvironmentFilter 的更新版本,以便向环境筛选器提供其他信息。 Visual Studio 14+ 将同时调用旧 API 和新 API,因此组件通常不应同时实现这两个接口。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:EngineId、TransportKind。

此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引入的。

IDkmProcessQueryOperation

查询有关调试对象进程的状态。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

IDkmProcessSnapshotAddedNotification

IDkmProcessSnapshotAddedNotification 由要侦听 ProcessSnapshotAdded 事件的组件实现。 在此通知期间,目标进程可能会继续运行。 创建 DkmProcessSnapshot 并将其添加到关联的 DkmProcess 时,将触发 ProcessSnapshotAdded。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

此 API 是在 Visual Studio 15 Update 6 (DkmApiVersion.VS15Update6) 中引入的。

IDkmProcessSnapshotRemovedNotification

IDkmProcessSnapshotRemovedNotification 由要侦听 ProcessSnapshotRemoved 事件的组件实现。 在此通知期间,目标进程可能会继续运行。 当从关联的 DkmProcess 中删除 DkmProcessSnapshot 时,将触发 ProcessSnapshotRemoved。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

此 API 是在 Visual Studio 15 Update 6 (DkmApiVersion.VS15Update6) 中引入的。

IDkmProductionAgent

与生产诊断相关的代理操作。 代理将在 STDIN 和 STDOUT 重定向的情况下启动。 客户端可以通过 SendMessage 方法发送 UTF8 字符串来写入 STDIN。 当进程写入 STDOUT 时,将调用 DkmCustomMessage::SendToVsService,源 ID 设置为 DkmProductionAgent::UniqueId,param1 中的 UTF8 编码内容。

() 不支持筛选,则始终调用此接口的实现。 为了减少内存影响,建议在小型 dll 中实现此接口,或者使用“CallOnlyWhenLoaded=”true“配置实现。

此 API 是在 Visual Studio 15 Update 2 (DkmApiVersion.VS15Update2) 中引入的。

IDkmProductionConnection

与生产诊断相关的操作。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:TransportKind。

此 API 是在 Visual Studio 15 Update 2 (DkmApiVersion.VS15Update2) 中引入的。

IDkmRecordedProcessInfoProvider

基本 DM 服务实现的接口,用于提供记录的进程信息,而无需对其进行调试。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:TransportKind。

此 API 是在 Visual Studio 16 RTM (DkmApiVersion.VS16RTM) 中引入的。

IDkmRegisterWrite

提供按 CV 常量读取或写入寄存器值的功能。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、TransportKind。

IDkmRequireFullTrustForSourceServerNotification

用于在启用或禁用 RequireFullTrustForSourceServer 时更新组件的接口。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId。

IDkmReturnValuesNotification

IDkmReturnValuesNotification 由想要侦听 ReturnValues 事件的组件实现。 在此通知期间,目标进程可以继续运行。 当收集了一个或多个 DkmRawReturnValues 时,将在步骤中发送 ReturnValues 事件。 实际评估将在记录返回值的线程上的 StepComplete 事件上执行。

可以通过调用 DkmEventDescriptorS.Suppress () 来禁止显示 ReturnValues 事件。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SourceId。

IDkmRunningProcessInfoProvider

基本 DM 服务实现的接口可提供进程列表,并提供有关运行进程的基本信息,而无需将调试器附加到进程。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:TransportKind。

IDkmRunningProcessInfoProvider160

基本 DM 服务实现的接口可提供进程列表,并提供有关运行进程的基本信息,而无需将调试器附加到进程。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:TransportKind。

此 API 是在 Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview) 中引入的。

IDkmRuntimeBreakpointConditionFailedNotification

IDkmRuntimeBreakpointConditionFailedNotification 由要侦听 RuntimeBreakpointConditionFailed 事件的组件实现。 IDkmRuntimeBreakpointConditionFailedNotification 是在 IDkmRuntimeBreakpointConditionFailedReceived 的所有实现之后调用的。 调用此通知时,目标进程将停止,实现者能够检查进程或使其以受控方式执行, (滑动、func-eval) 。

提供通知,指出已命中运行时断点,但断点条件遇到运行时错误。

可以通过调用 DkmEventDescriptorS.Suppress () 来取消 RuntimeBreakpointConditionFailed 事件。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SourceId。

此 API 是在 Visual Studio 16 Update 3 (DkmApiVersion.VS16Update3) 中引入的。

IDkmRuntimeBreakpointConditionFailedReceived

IDkmRuntimeBreakpointConditionFailedReceived 由要侦听 RuntimeBreakpointConditionFailed 事件的组件实现。 在 IDkmRuntimeBreakpointConditionFailedNotification 之前调用 IDkmRuntimeBreakpointConditionFailedReceived。 在此通知中,无法导致目标进程执行 (无 func-eval、无滑) 。

提供通知,指出已命中运行时断点,但断点条件遇到运行时错误。

可以通过调用 DkmEventDescriptorS.Suppress () 来取消 RuntimeBreakpointConditionFailed 事件。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SourceId。

此 API 是在 Visual Studio 16 Update 3 (DkmApiVersion.VS16Update3) 中引入的。

IDkmRuntimeBreakpointHitWithErrorNotification

IDkmRuntimeBreakpointHitWithErrorNotification 由想要侦听 RuntimeBreakpointHitWithError 事件的组件实现。 IDkmRuntimeBreakpointHitWithErrorNotification 是在 IDkmRuntimeBreakpointHitWithErrorReceived 的所有实现之后调用的。 调用此通知时,目标进程将停止,实现者能够检查进程或使其以受控方式执行, (滑动、func-eval) 。

提供通知,指出已命中运行时断点,但处理导致不可恢复的错误。 进程现已停止,断点现在处于错误状态,不会再次命中。

可以通过调用 DkmEventDescriptorS.Suppress () 来抑制 RuntimeBreakpointHitWithError 事件。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SourceId。

此 API 是在 Visual Studio 16 RTM (DkmApiVersion.VS16RTM) 中引入的。

IDkmRuntimeBreakpointHitWithErrorReceived

IDkmRuntimeBreakpointHitWithErrorReceived 由要侦听 RuntimeBreakpointHitWithError 事件的组件实现。 在 IDkmRuntimeBreakpointHitWithErrorNotification 之前调用 IDkmRuntimeBreakpointHitWithErrorReceived。 在此通知中,无法导致目标进程执行 (无 func-eval、无滑) 。

提供通知,指出已命中运行时断点,但处理导致不可恢复的错误。 进程现已停止,断点现在处于错误状态,不会再次命中。

可以通过调用 DkmEventDescriptorS.Suppress () 来抑制 RuntimeBreakpointHitWithError 事件。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SourceId。

此 API 是在 Visual Studio 16 RTM (DkmApiVersion.VS16RTM) 中引入的。

IDkmRuntimeBreakpointNotification

IDkmRuntimeBreakpointNotification 由想要侦听 RuntimeBreakpoint 事件的组件实现。 IDkmRuntimeBreakpointNotification 是在 IDkmRuntimeBreakpointReceived 的所有实现之后调用的。 调用此通知时,目标进程将停止,实现者能够检查进程或使其以受控方式执行, (滑动、func-eval) 。

提供已命中 DkmRuntimeBreakpoint (运行时断点) 的通知。 运行时断点是低级别断点对象。 (DkmPendingBreakpoint/DkmBoundBreakpoint) 的更高级别断点的通知是通过 BoundBreakpointHit 事件获取的。

可以通过调用 DkmEventDescriptorS.Suppress () 来抑制 RuntimeBreakpoint 事件。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SourceId。

IDkmRuntimeBreakpointReceived

IDkmRuntimeBreakpointReceived 由想要侦听 RuntimeBreakpoint 事件的组件实现。 IDkmRuntimeBreakpointReceived 在 IDkmRuntimeBreakpointNotification 之前调用。 在此通知中,无法导致目标进程执行 (无 func-eval、无滑) 。

提供已命中 DkmRuntimeBreakpoint (运行时断点) 的通知。 运行时断点是低级别断点对象。 (DkmPendingBreakpoint/DkmBoundBreakpoint) 的更高级别断点的通知是通过 BoundBreakpointHit 事件获取的。

可以通过调用 DkmEventDescriptorS.Suppress () 来抑制 RuntimeBreakpoint 事件。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SourceId。

IDkmRuntimeDataBreakpointHitNotification

IDkmRuntimeDataBreakpointHitNotification 是由想要侦听 RuntimeDataBreakpointHit 事件的组件实现的。 在 IDkmRuntimeDataBreakpointHitReceived 的所有实现之后调用 IDkmRuntimeDataBreakpointHitNotification。 调用此通知时,目标进程将停止,实现者能够检查进程或使其以受控方式执行, (滑动、func-eval) 。

提供已命中运行时数据断点的通知。

可以通过调用 DkmEventDescriptorS.Suppress () 来禁止显示 RuntimeDataBreakpointHit 事件。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SourceId。

此 API 是在 Visual Studio 16 RTM (DkmApiVersion.VS16RTM) 中引入的。

IDkmRuntimeDataBreakpointHitReceived

IDkmRuntimeDataBreakpointHitReceived 由要侦听 RuntimeDataBreakpointHit 事件的组件实现。 在 IDkmRuntimeDataBreakpointHitNotification 之前调用 IDkmRuntimeDataBreakpointHitReceived。 在此通知中,无法导致目标进程执行 (无 func-eval、无滑) 。

提供已命中运行时数据断点的通知。

可以通过调用 DkmEventDescriptorS.Suppress () 来禁止显示 RuntimeDataBreakpointHit 事件。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SourceId。

此 API 是在 Visual Studio 16 RTM (DkmApiVersion.VS16RTM) 中引入的。

IDkmRuntimeDisassemblyProvider

用于对调试对象地址空间中与特定运行时相关的指令进行反汇编。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、TransportKind。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 中引入的。

IDkmRuntimeFunctionResolver

此接口由加载到目标计算机上的表达式计算器实现,以在函数/地址表达式与它所表示的指令之间映射。 这用于绑定函数断点。 除了表达式计算器外,此接口还可以由其他组件实现,这些组件可能希望使用目标进程中的数据 (例如:本机导出函数断点) 绑定函数断点。

基于 LanguageId 和/或 VendorId 筛选的组件应确保 Guid.Empty 是其筛选器中接受的值之一。 有关详细信息,请参阅 DkmRuntimeFunctionResolutionRequest.CompilerId。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、CompilerVendorId、EngineId、LanguageId。

IDkmRuntimeFunctionResolverClient

此接口由断点管理器实现,因此它可以接收运行时函数解析请求已解析为新函数的通知。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、CompilerVendorId、EngineId、LanguageId。

IDkmRuntimeHandleComparer

此接口允许 Concord 组件通过填充码 EE 路由对 GetValue 的调用来比较两个 ICorDebugHandleValue 对象的值,以便设置正确的 LocalContext。 直接从 Concord 对 ICorDebugHandleValue 对象调用 GetValue 将导致 VIL 主机引发异常。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、TransportKind。

IDkmRuntimeInstanceLoadCompleteNotification

IDkmRuntimeInstanceLoadCompleteNotification 由要侦听 RuntimeInstanceLoadComplete 事件的组件实现。 触发此通知时,目标进程将暂停并可以检查。 在启动或附加到进程已完成时,基本调试监视器发送 RuntimeInstanceLoadComplete。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、TransportKind。

此 API 是在 Visual Studio 12 Update 2 (DkmApiVersion.VS12Update2) 中引入的。

IDkmRuntimeInstanceLoadNotification

IDkmRuntimeInstanceLoadNotification 由要侦听 RuntimeInstanceLoad 事件的组件实现。 在此通知期间,目标进程可能会继续运行。 创建 DkmRuntimeInstance 对象时,将触发 RuntimeInstanceLoad。 此事件可用于检测特定类型的代码 (例如:本机) 正在此目标进程中调试。 在启动方案中,在指定类型的任何代码有机会在目标进程中运行之前,将触发 RuntimeInstanceLoad 事件。 调试本机代码时,这包括目标进程中的所有代码。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、TransportKind。

IDkmRuntimeInstanceUnloadNotification

IDkmRuntimeInstanceUnloadNotification 由要侦听 RuntimeInstanceUnload 事件的组件实现。 在此通知期间,目标进程可能会继续运行。 当执行环境从目标进程卸载时,将触发 RuntimeInstanceUnload。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、TransportKind。

IDkmRuntimeManagedHardwareDataBreakpointInfoProvider

为托管硬件数据 bps 提供 CLR 值。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SourceId。

此 API 是在 Visual Studio 16 RTM (DkmApiVersion.VS16RTM) 中引入的。

IDkmRuntimeMonitorBreakpointHandler

提供用于设置和删除断点的服务。 此接口由大多数运行时的调试监视器实现。 实现必须使用数据项来跟踪每个已启用的 DkmRuntimeBreakpoint 的生存期,以便在关闭 DkmRuntimeBreakpoint 时,它可以隐式禁用断点。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SourceId。

IDkmRuntimeSetNextStatement

IDkmRuntimeSetNextStatement 是接口运行时监视器实现以支持设置 next 语句。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId、TransportKind。

IDkmRuntimeStepper

IDkmRuntimeStepper 是接口运行时监视器实现以支持单步执行。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、TransportKind。

IDkmScriptDocumentContentInsertNotification

IDkmScriptDocumentContentInsertNotification 由要侦听 ScriptDocumentContentInsert 事件的组件实现。 在此通知期间,目标进程可能会继续运行。 已将新内容添加到目标进程的通知。 对于 (DkmScriptDocumentFlags.AggregateDocument 设置为) 的聚合文档,这是一个新的文档部分。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId。

IDkmScriptDocumentContentRemoveNotification

IDkmScriptDocumentContentRemoveNotification 由要侦听 ScriptDocumentContentRemove 事件的组件实现。 在此通知期间,目标进程可能会继续运行。 通知内容已从目标进程中删除。 对于 (DkmScriptDocumentFlags.AggregateDocument 设置为) 的聚合文档,这将对应于已删除的文本部分。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId。

IDkmScriptDocumentProvider

由创建 DkmScriptDocument 对象的组件实现,以便在内容更改时提供文档内容和通知。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId。

IDkmScriptDocumentQuery

脚本本地代理实现的 API,用于将脚本文档与断点请求进行匹配。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId。

IDkmScriptDocumentSourceProjectItemChanged

为脚本文档设置项目项路径时更新组件的接口。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId。

IDkmScriptDocumentSymbolProvider

由创建 DkmScriptDocument 对象的组件实现,并将它们用作符号解析的基础。 此接口不需要由将 DkmResolvedDocument.ScriptDocument 保留为 null 的脚本文档系统实现。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId。

IDkmScriptDocumentTreeNodeCreateNotification

IDkmScriptDocumentTreeNodeCreateNotification 由要侦听 ScriptDocumentTreeNodeCreate 事件的组件实现。 触发此通知时,目标进程将暂停并可以检查。 创建新的 DkmScriptDocumentTreeNode 对象时的通知。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId。

IDkmScriptDocumentTreeNodeUnloadNotification

IDkmScriptDocumentTreeNodeUnloadNotification 由要侦听 ScriptDocumentTreeNodeUnload 事件的组件实现。 在此通知期间,目标进程可能会继续运行。 已从目标进程卸载 DkmScriptDocumentTreeNode 的通知。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId。

IDkmScriptJmcStateChangeNotification

IDkmScriptJmcStateChangeNotification 由希望在脚本文档的 JMC 状态更改时收到通知的组件实现。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 中引入的。

IDkmScriptSymbolCallback

由脚本符号提供程序实现的回调接口,以支持编译为 JavaScript (或可能的其他脚本语言以及) 的语言的逐步自定义。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:RuntimeId、SymbolProviderId。

IDkmScriptSymbolsUpdatedNotification

IDkmScriptSymbolsUpdatedNotification 由要侦听 ScriptSymbolsUpdated 事件的组件实现。 触发此通知时,目标进程将暂停并可以检查。 已更新一个或多个脚本文档的符号状态的通知。 这用于在基于脚本的模块中重新绑定断点。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、TransportKind。

IDkmSerializedProcessInfoProvider

由支持进程转储格式的基本调试监视器实现的接口。 当前由核心转储 BDM 实现。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、TransportKind。

此 API 是在 Visual Studio 16 Update 8 (DkmApiVersion.VS16Update8) 中引入的。

IDkmSerializedProcessInfoProviderFactory

用于获取 IDkmSerializedProcessInfoProvider 实例的工厂接口。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:TransportKind。

此 API 是在 Visual Studio 16 Update 8 (DkmApiVersion.VS16Update8) 中引入的。

IDkmSetNextStatementQuery

允许 UI 查询当前指令是否可以设置为地址。 必须在客户端实现,因为它可以在需要快速结果的情况下调用,例如在调试器编辑器中拖动 IP。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId、TransportKind。

IDkmSingleStepCompleteNotification

IDkmSingleStepCompleteNotification 由要侦听 SingleStepComplete 事件的组件实现。 在 IDkmSingleStepCompleteReceived 的所有实现之后调用 IDkmSingleStepCompleteNotification。 调用此通知时,目标进程将停止,实现者能够检查进程或使其以受控方式执行, (滑动、func-eval) 。

单步执行线程完成时发送。

可以通过调用 DkmEventDescriptorS.Suppress () 来抑制 SingleStepComplete 事件。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、SourceId。

IDkmSingleStepCompleteReceived

IDkmSingleStepCompleteReceived 由要侦听 SingleStepComplete 事件的组件实现。 在 IDkmSingleStepCompleteNotification 之前调用 IDkmSingleStepCompleteReceived。 在此通知中,无法导致目标进程执行 (无 func-eval、无滑) 。

单步执行线程完成时发送。

可以通过调用 DkmEventDescriptorS.Suppress () 来抑制 SingleStepComplete 事件。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、SourceId。

IDkmSourceLinkQuery

此 API 用于读取Source Link信息。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:CompilerVendorId、LanguageId、SymbolProviderId、TransportKind。

此 API 是在 Visual Studio 15 RTM (DkmApiVersion.VS15RTM) 中引入的。

IDkmSourceLinkSymbolQuery

此 API 用于从符号提供程序读取Source Link配置信息。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:CompilerVendorId、LanguageId、SymbolProviderId、TransportKind。

此 API 是在 Visual Studio 17 RTM (DkmApiVersion.VS17RTM) 中引入的。

IDkmSourceServerSymbolQuery

此 API 用于从符号提供程序读取有关源服务器数据的信息。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:CompilerVendorId、LanguageId、SymbolProviderId、TransportKind。

IDkmStackProvider

提供堆栈供用户查看。 此堆栈已筛选、批注和混合在一起。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId。

IDkmStackWalkFrameAnnotationTextProvider

提供堆栈框架批注的前缀文本。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:SourceId。

此 API 是在 Visual Studio 15 Update 8 (DkmApiVersion.VS15Update8) 中引入的。

IDkmStackWalkFrameInterfaceProvider

此接口由贡献堆栈帧的组件实现,并希望为表达式计算器和需要检查堆栈帧的其他组件提供额外的检查接口。

注意:不应从返回的自定义接口的实现中使用数据容器 API。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId、TransportKind。

IDkmStackWalkFrameInterfaceProvider2

此接口由托管调试监视器实现,并提供对 ICorDebugFrame 的访问权限。

注意:不应从返回的自定义接口的实现中使用数据容器 API。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、TransportKind。

此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引入的。

IDkmStartDebuggingOperations

此接口包含用于在调试器下启动新进程的 API 或将调试器附加到现有进程。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

IDkmStepCompleteNotification

IDkmStepCompleteNotification 由要侦听 StepComplete 事件的组件实现。 IDkmStepCompleteNotification 是在 IDkmStepCompleteReceived 的所有实现之后调用的。 调用此通知时,目标进程将停止,实现者能够检查进程或使其以受控方式执行, (滑动、func-eval) 。

当步骤成功完成时,运行时监视器发送。 请注意,该步骤实际上可能在与启动时不同的线程上完成。

StepComplete 事件可以通过调用 DkmEventDescriptorS.Suppress () 来抑制。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SourceId。

IDkmStepCompleteReceived

IDkmStepCompleteReceived 由要侦听 StepComplete 事件的组件实现。 在 IDkmStepCompleteNotification 之前调用 IDkmStepCompleteReceived。 在此通知中,无法导致目标进程执行 (无 func-eval、无滑) 。

当步骤成功完成时,运行时监视器发送。 请注意,该步骤实际上可能在与启动时不同的线程上完成。

StepComplete 事件可以通过调用 DkmEventDescriptorS.Suppress () 来抑制。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SourceId。

IDkmStepOverPropertiesAndOperatorsEnableNotification

启用或禁用“IsStepOverPropertiesAndOperatorsEnabled”时更新组件的接口。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId。

IDkmSteppingCodePathProvider

AD7 用于单步执行特定选项。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:CompilerVendorId、LanguageId、RuntimeId、SymbolProviderId。

IDkmSteppingManager

单步执行管理器的接口。 此组件由 Microsoft 实现,它在过程中活动的各种调试监视器之间提供分步仲裁。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId。

IDkmSteppingManagerCallback

允许运行时监视器从单步执行管理器获取信息。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SourceId。

IDkmSteppingManagerCallback11a

扩展运行时监视器可从单步执行管理器获取的信息。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SourceId。

此 API 是在 Visual Studio 11 Update 1 (DkmApiVersion.VS11FeaturePack1) 中引入的。

IDkmSteppingManagerCallback169

扩展运行时监视器可从单步执行管理器获取的信息。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SourceId。

此 API 是在 Visual Studio 16 Update 9 (DkmApiVersion.VS16Update9) 中引入的。

IDkmStopDebuggingOperations

此接口包含用于停止调试的 API。 这些接口必须由基本调试监视器实现。 还可以实现此接口,以便自定义特定应用程序的停止调试体验。 例如,组件可以重新实现 Terminate,以便调试器可以正常关闭应用程序,而不是使用 TerminateProcess Win32 API。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

IDkmStowedExceptionProvider

由微型转储 BDM 实现的接口,用于查询已存异常信息。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

此 API 是在 Visual Studio 12 Update 3 (DkmApiVersion.VS12Update3) 中引入的。

IDkmSuppressOptimizationsEnableNotification

启用或禁用“IsSuppressOptimizationsEnabled”时更新组件的接口。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId。

IDkmSymbolAlternateSourcePositionQuery

可选接口,由希望为同一指令符号提供多个源映射的符号提供程序实现 - 主映射和备份映射(如果找不到主文档)。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:RuntimeId、SymbolProviderId。

此 API 是在 Visual Studio 12 Update 3 (DkmApiVersion.VS12Update3) 中引入的。

IDkmSymbolCompilerIdQuery

此 API 用于提取给定符号的编译器 ID。 它由支持二进制文件可能包含多种语言的符号存储的符号提供程序实现。 换句话说,仅当 DkmModule.CompilerId 为 Guid.Empty/Guid.Empty 时,才需要实现此接口。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:RuntimeId、SymbolProviderId。

IDkmSymbolCompilerIdQueryCallback

此 API 用于提取给定符号的编译器 ID。 它由支持二进制文件可能包含多种语言的符号存储的符号提供程序实现。 换句话说,仅当 DkmModule.CompilerId 为 Guid.Empty/Guid.Empty 时,才需要实现此接口。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:RuntimeId、SymbolProviderId。

IDkmSymbolDisassemblyQuery

此 API 用于解析反汇编窗口中的符号。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:RuntimeId、SymbolProviderId。

IDkmSymbolDocumentCollectionQuery

由符号提供程序实现的 API,允许断点管理器和其他组件查询符号存储中的文档集合。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:CompilerVendorId、LanguageId、SymbolProviderId、TransportKind。

IDkmSymbolDocumentSpanQuery

由符号提供程序实现的 API,允许断点管理器和其他组件查询符号存储中的“文档文本跨>符号”映射。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:SymbolProviderId。

IDkmSymbolFileBytesQuery

此 API 用于从远程端检索符号文件的原始字节。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:CompilerVendorId、LanguageId、SymbolProviderId、TransportKind。

此 API 是在 Visual Studio 14 Update 3 Micro Update (DkmApiVersion.VS14Update3MicroUpdate) 中引入的。

IDkmSymbolFunctionResolver

此接口由基于符号的表达式计算器实现,用于在函数/地址表达式与它所表示的指令之间进行映射。 这用于绑定函数断点。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、CompilerVendorId、EngineId、LanguageId、SymbolProviderId。

IDkmSymbolHiddenAttributeQuery

此 API 用于读取有关符号的信息。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:RuntimeId、SymbolProviderId。

IDkmSymbolLocator

由处理符号搜索的符号提供程序实现的接口。 换句话说,此接口不会由仅处理已调试二进制文件中的符号格式的符号提供程序实现。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:SymbolProviderId、TransportKind。

IDkmSymbolLocator174

由处理符号搜索的符号提供程序实现的接口。 换句话说,此接口不会由仅处理已调试二进制文件中的符号格式的符号提供程序实现。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId、TransportKind。

此 API 是在 Visual Studio 17 Update 4 (DkmApiVersion.VS17Update4) 中引入的。

IDkmSymbolLocatorCallback170

从服务器端向符号定位器提供回调。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId、TransportKind。

此 API 是在 Visual Studio 17 RTM (DkmApiVersion.VS17RTM) 中引入的。

IDkmSymbolLocatorCallback177

从服务器端向符号定位器提供回调。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId、TransportKind。

此 API 是在 Visual Studio 17 Update 7 (DkmApiVersion.VS17Update7) 中引入的。

IDkmSymbolMemoryReader

基本调试监视器实现的接口,该监视器在运行时从调试对象的内存中读取符号。 此接口将由基本调试监视器实现,以处理运行时在调试对象的内存中生成或加载的符号格式。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId、TransportKind。

IDkmSymbolPathChangeNotification

用于在符号设置更改时更新组件的接口。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId。

IDkmSymbolProviderCallback

由符号提供程序实现的回调接口,用于提供符号存储中的信息以调试监视器。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:SymbolProviderId。

IDkmSymbolQuery

此 API 用于读取有关符号的信息。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:SymbolProviderId。

IDkmSymbolQueryCallback

当符号提供程序位于 VS 计算机上时,允许远程组件获取源位置信息。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:RuntimeId、SymbolProviderId。

IDkmSymbolStackWalk

提供一种机制,用于使用符号文件中的信息遍走本机堆栈帧。 此机制用于遍走在目标计算机上无法解析的任何堆栈帧。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、SymbolProviderId。

IDkmTaskProvider

由任务提供程序组件实现的接口,用于获取有关任务的信息。 Visual Studio 的未来版本中可能会更改此接口。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TaskProviderId。

IDkmTaskProvider165

由任务提供程序组件实现的接口,用于异步获取有关任务的信息。 Visual Studio 的未来版本中可能会更改此接口。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:EngineId、RuntimeId、SourceId、TaskProviderId。

此 API 是在 Visual Studio 16 Update 5 (DkmApiVersion.VS16Update5) 中引入的。

IDkmTaskProviderCreateNotification

IDkmTaskProviderCreateNotification 由要侦听 TaskProviderCreate 事件的组件实现。 在此通知期间,目标进程可以继续运行。 指示已创建任务提供程序对象。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、TaskProviderId。

IDkmTaskProviderInitialize

任务提供程序实现的可选接口,用于在首次请求特定进程的任务提供程序时接收通知。 Visual Studio 的未来版本中可能会更改此接口。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

IDkmTaskSynchronizationObjectProvider

接口由任务提供程序组件实现,以提供任务拥有的同步对象集。 Visual Studio 的未来版本中可能会更改此接口。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TaskProviderId。

IDkmTerminalLauncher

回调接口,用于启动新终端 (控制台,) 目标进程将启动到其中。

当使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:TransportKind。

此 API 是在 Visual Studio 16 Update 9 (DkmApiVersion.VS16Update9) 中引入的。

IDkmThreadContextOperation

基本调试监视器提供的操作,用于获取和更新线程的上下文 (注册值) 。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

IDkmThreadCreateNotification

IDkmThreadCreateNotification 由要侦听 ThreadCreate 事件的组件实现。 触发此通知时,目标进程将暂停并可以检查。 当新线程在目标进程中启动时,将触发 ThreadCreate。

可以取消 ThreadCreate 事件。 在这种情况下,线程将不可见于线程被禁止的级别之上的组件。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

IDkmThreadCurrentWinRtExceptionQuery

此接口由运行时调试监视器实现,以返回给定线程上的最新 WinRT 异常信息。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 中引入的。

IDkmThreadDisplayPropertiesQuery

用于确定线程的类别。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、TransportKind。

IDkmThreadExitNotification

IDkmThreadExitNotification 由要侦听 ThreadExit 事件的组件实现。 在此通知期间,目标进程可能会继续运行。 当目标进程中的线程退出时,将触发 ThreadExit。 如果目标进程在线程仍在运行时退出,则不会触发它。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

IDkmThreadLocationProvider

提供线程的位置(如在线程窗口中可见)或调试位置工具栏中的线程下拉列表。 这是由 Microsoft 堆栈提供程序组件实现的。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

IDkmThreadNameChangeNotification

IDkmThreadNameChangeNotification 由要侦听 ThreadNameChange 事件的组件实现。 触发此通知时,目标进程将暂停并可以检查。 在目标进程中更改线程名称时,将触发 ThreadNameChange。 目前,仅当托管线程更改其名称时才会触发此名称。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引入的。

IDkmThreadNameQuery

用于确定线程的名称。 不返回线程的显示名称。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、TransportKind。

IDkmThreadStackRangeProvider

返回线程的堆栈基数和限制。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

IDkmThreadSuspension

调用 以暂停或恢复线程并获取当前线程挂起计数。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

IDkmTimeTravellingMonitor

此接口由允许时间旅行的调试监视器实现。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

此 API 是在 Visual Studio 15 Update 8 (DkmApiVersion.VS15Update8) 中引入的。

IDkmTlsReadWrite

提供从目标进程中的 Win32 TLS 槽读取和写入的功能。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

IDkmTraceSettingsNotification

用于在跟踪设置更改时更新组件的接口。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId。

此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引入的。

IDkmUserCodeDeterminer

确定在创建帧时未进行此类确定时,帧是用户还是非用户。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、RuntimeId、SymbolProviderId、TransportKind。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 中引入的。

IDkmVirtualMemoryAllocator

由基本调试监视器实现,以允许在目标进程中分配/释放虚拟内存。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

IDkmVirtualThreadCreateNotification

IDkmVirtualThreadCreateNotification 由要侦听 VirtualThreadCreate 事件的组件实现。 在此通知期间,目标进程可能会继续运行。 调用 VirtualThreadCreate 时,它会触发一个事件,通知侦听器已创建新的 DkmVirtualThread。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

此 API 是在 Visual Studio 16 Update 6 (DkmApiVersion.VS16Update6) 中引入的。

IDkmVisualizationDataCompiler

可选接口,用于将对象可视化数据从人类可读的形式编译为 DkmCompiledVisualizationData 对象。 目前,此接口仅通过 C++ 实现。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:CompilerVendorId、LanguageId。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 中引入的。

IDkmVisualStudioServices

AD7AL 实现的接口作为由 Visual Studio 的其余部分提供的服务的网关。

() 不支持筛选,则始终调用此接口的实现。 为了减少内存影响,建议在小型 dll 中实现此接口,或者使用“CallOnlyWhenLoaded=”true“配置实现。

IDkmVisualStudioServices120

AD7AL 实现的接口作为由 Visual Studio 的其余部分提供的服务的网关。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 中引入的。

IDkmVolatileMemoryOperation

提供对读取和写入内存的支持。 与 IDkmMemoryOperation 不同,此接口可在进程运行时使用,并且永远不会缓存结果,因此应谨慎使用。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。

IDkmVolatileThreadProperties

公开线程的易失属性,例如优先级和相关性掩码。 这些值预期会随时间而变化,不应由调用方缓存。

使用组件配置中定义的筛选器调用时,此接口的实现可能会受到限制。 可以使用以下属性:BaseDebugMonitorId、EngineId、TransportKind。