Microsoft.VisualStudio.Debugger 命名空间

DkmBaseDebugMonitorId

DkmBaseDebugMonitorId 标识用于检查和控制调试进程的基本调试监视器。 例如,DkmBaseDebugMonitorId.WindowsProcess 用于由 Win32 调试 API 调试的进程,DkmBaseDebugMonitorId.DumpFile 用于最小化umps。

DkmComponentManager

从调度程序提供用于初始化线程的服务。

DkmCustomMessage

用于在自定义调试器后端组件与自定义 Visual Studio UI 组件之间传递信息的消息结构, (包、加载项等) 。

DkmDataContainer

DkmDataContainer 是在整个 API 中使用的构建基块。 它允许此 API 中的许多对象包含由系统中的任何组件添加的“虚拟字段”。 这类似于 JScript 中“expando”概念的类型安全版本。

DkmDataContainer 的规则:

  1. 系统中的所有“reference”对象都继承自 DkmDataContainer。 引用对象由此系统的调度程序组件跟踪,并在各个封送点 (托管本机>、本机>托管的远程处理) 保留对象引用标识。 “Value”对象不会从 DkmDataContainer 继承,因为系统不跟踪这些对象,因此在任何封送转换时,都会复制对象的值。
  2. 从 DkmDataContainer 继承的这些对象的“虚拟字段”称为数据项。
  3. 数据项是添加它们的组件的专用项。 此功能不能用于跨组件边界共享字段。
  4. 数据项是数据项类的实例。 在托管代码中,数据项类继承自 DkmDataItem,以将其标识为数据项。 在本机代码中,数据项继承自 IUnknown。
  5. 通常,组件永远不需要删除数据项。 这是因为关闭容器对象时会自动删除数据项。
DkmDataItem

“DkmDataItem”是所有数据项类的基类。 有关详细信息,请参阅“DkmDataContainer”。

DkmDiagnosticsLog

静态类定义要记录到调度程序诊断日志的方法

DkmDotnetVisualizerExtensionInfo

包含有关可针对评估结果显示的调试器可视化工具扩展的信息。

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

DkmEngineId

这些是“标准”引擎 GUID 值。 预计此列表会随着时间的推移而增长,因此,如果可能,建议查询设置,而不是比较 EngineId。

DkmEngineSettings

包含会话范围的调试设置。 每个引擎 Guid (有一个此对象的实例,例如:一个用于 COMPlusOnlyEng2 的实例,一个用于 COMPlusNativeEng) 实例。

DkmEventDescriptor

描述正在处理的事件。

DkmEventDescriptorS

描述正在处理的事件,并提供组件禁止显示此事件的功能。

DkmException

此 API 中所有异常的基异常类。

DkmGlobalSettings

包含调试器进程的全局设置的静态类

DkmInstructionAddress

可执行代码位置的抽象表示 (示例:EIP 值) 。 如果已解析,指令地址将位于特定模块实例中。 指令地址始终位于特定的运行时实例中。

派生类:DkmClrInstructionAddress、DkmClrNcInstructionAddress、DkmCustomInstructionAddress、DkmNativeInstructionAddress、DkmScriptInstructionAddress、DkmUnknownInstructionAddress

DkmInstructionAddress.CPUInstruction

CPUInstruction 提供 CPU 将执行的地址。 这始终是为本机指令提供的。 可以根据地址对象的创建方式,为 CLR 或自定义地址提供该地址。

DkmLanguageRegistrySetting

在设置的名称与其值之间进行配对。

DkmModuleInstance

Module Instance 类表示加载到特定位置的特定进程中的代码包 (例如 dll 或 exe) 。 模块实例对象是 1:1,执行环境的概念为代码捆绑包。 例如,在本机代码中,模块实例对象是具有基址的 1:1。

派生类:DkmClrModuleInstance、DkmClrNcModuleInstance、DkmCustomModuleInstance、DkmNativeModuleInstance、DkmClrNcContainerModuleInstance

DkmModuleInstance.MinidumpInfo

“MinidumpInfo”用于为小型转储传达有关 DkmProcess 中的模块的其他信息。

DkmModuleVersion

文件版本信息。

DkmNativeEESettings

包含本机表达式计算器的配置设置。

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

DkmPerformanceCounters

进程执行计数器集合。

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

DkmProcess

DkmProcess 表示正在调试的目标进程。 调试器调试进程,因此这是调试的基本单元。 DkmProcess 可以表示系统进程或虚拟进程,例如最小枚举。

DkmProcess.Live

与正在运行的进程相关的信息。 例如,对于最小枚举,此部件将不存在。

DkmProcessExecutionCounters

存储进程停止/恢复事件的 QPC 时间戳。

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

DkmProcessSnapshot

DkmProcessSnapshot 表示捕获的有关正在运行的进程快照。

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

DkmReadOnlyByteCollection

ReadOnlyCollection 的实现,可提供指向基础本机内存的指针。 目前,此类仅用于通过 Concord API 调用传递值时存储字节的 ReadOnlyCollection。

DkmRegistryTweak

从注册表中读取的键/值对。

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

DkmRuntimeId

运行时 ID 标识特定代码段的执行环境。 调度程序使用运行时 ID 来决定要调度到哪个监视器。 请注意,运行时 ID Guid 的排序有点重要,因为它决定了哪个运行时在仲裁期间获得第一次拍摄。 因此,如果想要声明基于 CLR 构建的新运行时实例,运行时 ID 应小于 DkmRuntimeId.Clr。

DkmRuntimeInstance

DkmRuntimeInstance 类表示加载到 DkmProcess 中的执行环境,其中包含要调试的代码。

派生类:DkmClrRuntimeInstance、DkmClrNcRuntimeInstance、DkmCustomRuntimeInstance、DkmNativeRuntimeInstance、DkmScriptRuntimeInstance、DkmNativeDwarfRuntimeInstance、DkmOpenEnclaveRuntimeInstance

DkmSourceId

标识对象的源。 SourceId 用于在多个组件可能创建类实例的情况下启用筛选。 例如,源 ID 可用于确定断点是来自 AD7 AL (例如用户断点,还是来自 SDM 级别) 可见的其他断点,而不是可能由其他组件创建的断点 (例如用于单步) 的内部断点。

DkmThread

DkmThread 表示在目标进程中运行的线程。

派生类:DkmGPUComputeThread、DkmVirtualThread

DkmThread.System

描述与完整 Win32 线程相关的线程的特征。 目前,此值是必需的,所有线程都将具有“系统”块。 将来,如果 DkmThread 表示完全 Win32 线程以外的其他线程,则此值可能为 NULL。

DkmTraceTimeContext

时间行程跟踪中的时间点。 内部表示形式是创建者的实现详细信息。

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

DkmUnknownInstructionAddress

表示无法解析为模块的地址。

DkmUserMessage

包含有关要向用户显示的消息的信息。

DkmVirtualThread

DkmVirtualThread 表示在调试进程中物理上不存在的线程。

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

DkmWaitUIOperation

表示在调试器后端上发生的操作,操作可能很慢,因此,如果它结束花费指定的延迟更长的时间,应通知用户。

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

DkmWorkList

一起处理的异步工作项的集合。 通过在整个 API 中调用任何异步方法来追加工作项。 可以自由追加工作项,直到工作列表开始执行。 开始执行后,只能从工作项处理接口的实现或完成例程追加其他工作。

结构

DkmDisplayUserMessagePromptAsyncResult

异步 DkmUserMessage.DisplayPrompt 调用的结果。

DkmGetCurrentCPUAddressAsyncResult

异步 DkmInstructionAddress.GetCurrentCPUAddress 调用的结果。

DkmGetInstructionAddressAsyncResult

异步 DkmProcess.GetInstructionAddress 调用的结果。

DkmGetRelativeInstructionAddressAsyncResult

异步 DkmProcess.GetInstructionAddress 调用的结果。

DkmGetSymbolSearchResultAsyncResult

异步 DkmModuleInstance.GetSymbolSearchResult 调用的结果。

DkmModuleInstanceIsUserCodeAsyncResult

异步 DkmModuleInstance.IsUserCode 调用的结果。

DkmPerformanceCountersAsyncResult

异步 DkmProcess.QueryPerformanceCounters 调用的结果。

DkmResolveCPUInstructionAddressAsyncResult

异步 DkmRuntimeInstance.ResolveCPUInstructionAddress 调用的结果。

DkmRuntimeInstanceId

标识进程中的 DkmRuntimeInstance 对象。

DkmSendLowerAsyncResult

异步 DkmCustomMessage.SendLower 调用的结果。

DkmTryLoadBinaryAsyncResult

异步 DkmModuleInstance.TryLoadBinary 调用的结果。

DkmXmm128

DkmXmm128 表示 x64 系统上 128 位 XMM 寄存器的内容

枚举

DkmApiVersion

枚举此 API 各个版本的代码。

DkmAsyncBreakStatus

指示发生的异步中断的类型。

DkmClientUI

指定驱动引擎实例的用户界面的类型。

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

DkmDataCreationDisposition

如果数据项已位于容器中,则要执行的操作。

DkmDecompilerMode

模块可以反编译的模式。

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

DkmDispatcherObjectFlags

指示调度程序对象的当前状态的内部标志。

DkmDotnetVisualizerExtensionStyle

指示可视化工具在打开时应如何显示。

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

DkmDumpType

要保存的转储类型。

DkmEngineFlags

指示此引擎设置的不可变特征的标志。

DkmEventCode

枚举当前在此 API 中定义的所有事件。

DkmExceptionCode

定义此 API 使用的 HRESULT 代码。

DkmFuncEvalAbortLoggingFlags

指示对 func eval 中止执行哪种类型的日志记录的标志。

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

DkmFuncEvalMode

指示目标进程中是否发生了函数评估,以及是否允许停止此评估的事件。

DkmInstructionAddress.Tag

DkmInstructionAddress 是一个抽象基类。 此枚举指示此对象是哪个派生类的实例。

DkmLogLevel

指定添加到诊断日志 (DkmDiagnosticsLog) 的日志记录消息的详细程度。 为了允许在启用给定日志级别时进行简单检查,这声明为标志枚举,但极少数例外(如果有),消息应设置单个标志。

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

DkmMemoryTimeFlags

描述内存读取与当前进程时间相关的时间的枚举。

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

DkmModuleFlags

指示 DkmModuleInstance 特征的标志。

DkmModuleInstance.Tag

DkmModuleInstance 是一个抽象基类。 此枚举指示此对象是哪个派生类的实例。

DkmModuleMemoryLayout

指示模块在内存中的布局方式的枚举。

DkmProcessExecuteDirection

指示进程执行的方向。

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

DkmProcessorArchitecture
DkmReadMemoryFlags

控制 DkmProcess.ReadMemory 和 DkmProcess.ReadMemoryString 行为的标志。

DkmRuntimeCapabilities

运行时功能的枚举。

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

DkmRuntimeInstance.Tag

DkmRuntimeInstance 是一个抽象基类。 此枚举指示此对象是哪个派生类的实例。

DkmStoppingEventProcessingNextAction

状态代码返回到基本调试监视器,以指示在停止事件处理时要采取的下一步操作。

DkmUserMessageOutputKind

指示应在调试器 IDE 中输出 DkmUserMessage 的位置。

DkmWaitUIOperationFlags

DkmWaitUIOperation 的标志。

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

DkmWorkListExecutionThread

DkmWorkList.BeginExecution 的参数,指示工作列表中的工作项应在何处运行。

DkmWorkListPriority

从“高”到“空闲”的优先级工作列表类。 @Note:必须与托管定义保持同步。

ExceptionConditionCallStackBehavior
ExceptionConditionOperator
ExceptionConditionType
GCReferenceType
MessageBoxFlags
MinidumpFlags

委托

DkmCompletionRoutine<TResult>

异步请求完成时触发的函数。

DkmWorkListCompletionRoutine

工作列表完成时触发的可选函数,包括触发所有完成例程。

DkmWorkListProgressRoutine

更新工作列表进度时触发的可选函数。