本节中的文章介绍了公共语言运行时(CLR)为支持在 Windows、Linux 或 macOS作系统上运行的 .NET 应用程序提供支持的非托管 API。
这些文章介绍了在 .NET Core 2.0 或更高版本中引入或已在 .NET Framework 中引入但可在 .NET(Core)上使用的 API。 有关特定于 .NET Framework 的非托管 API,请参阅 .NET Framework 调试。
枚举
CorDebugBlockingReason 枚举
指定线程在给定对象上可能被阻止的原因。
CorDebugChainReason 枚举
指示启动调用链的原因或原因。
CorDebugCodeInvokeKind 枚举
描述导出的函数如何调用托管代码。
CorDebugCodeInvokePurpose 枚举
描述导出的函数调用托管代码的原因。
CorDebugCreateProcessFlags 枚举
提供可用于调用 ICorDebug::CreateProcess 方法的其他调试选项。
CorDebugDebugEventKind 枚举
指示其信息由 DecodeEvent 方法解码的事件的类型。
CorDebugDecodeEventFlagsWindows 枚举
提供有关 Windows 平台上调试事件的其他信息。
CorDebugExceptionCallbackType 枚举
指示从 ICorDebugManagedCallback2::Exception 事件进行的回调类型。
CorDebugExceptionFlags 枚举
提供有关异常的其他信息。
CorDebugExceptionUnwindCallbackType 枚举
指示在展开阶段由回调发出信号的事件。
CorDebugGCType 枚举
指示垃圾回收器是在工作站还是服务器上运行。
CorDebugGenerationTypes 枚举
指定在托管堆上生成内存区域。
CorDebugHandleType 枚举
指示句柄类型。
CorDebugIlToNativeMappingTypes 枚举
指示特定范围的本机指令是否对应于特殊代码区域。
CorDebugIntercept 枚举
指示可以介入的代码类型。
CorDebugInterfaceVersion 枚举
指定 .NET Framework 的版本或引入接口的 .NET Framework 版本。
CorDebugInternalFrameType 枚举
标识堆栈帧的类型。
CorDebugJITCompilerFlags 枚举
包含影响托管实时 (JIT) 编译器行为的值。
CorDebugMappingResult 枚举
提供有关如何获取指令指针(IP)值的详细信息。
CorDebugMDAFlags 枚举
指定触发托管调试助手(MDA)的线程的状态。
CorDebugNGenPolicy 枚举
提供一个值,该值确定调试器是否从本机映像缓存加载本机 (NGen) 映像。
CorDebugPlatform 枚举
提供 ICorDebugDataTarget::GetPlatform 方法使用的目标平台值。
CorDebugRecordFormat 枚举
描述字节数组中包含有关本机异常调试事件的信息的数据的格式。
CorDebugRegister 枚举
指定与给定处理器体系结构关联的寄存器。
CorDebugSetContextFlag 枚举
指示上下文是来自堆栈上的活动(或叶)帧,还是通过从另一帧展开来计算上下文。
CorDebugStateChange 枚举
描述必须根据进程更改丢弃的缓存数据量。
CorDebugStepReason 枚举
指示单个步骤的结果。
CorDebugThreadState 枚举
指定用于调试的线程的状态。
CorDebugUnmappedStop 枚举
指定未映射的代码的类型,该类型可以触发步骤程序在代码执行中停止。
CorDebugUserState 枚举
指示线程的用户状态。
CorGCReferenceType 枚举
标识要垃圾回收的对象的来源。
COR_PUB_ENUMPROCESS枚举
标识要枚举的进程类型。
ILCodeKind 枚举
提供值,该值指定调试器是否可以访问探查器 ReJIT 检测中添加的本地变量或代码。
LIBRARY_PROVIDER_INDEX_TYPE枚举
传递给库提供程序的索引信息的类型是请求的模块或运行时 (coreclr) 模块的标识。
LoggingLevelEnum 枚举
指示在托管线程记录事件时写入事件日志的描述性消息的严重性级别。
LogSwitchCallReason 枚举
指示在调试/跟踪开关上执行的作。
VariableLocationType 枚举
指示变量的本机位置类型。
WriteableMetadataUpdateMode 枚举
提供值,该值指定对元数据的内存中更新是否对调试器可见。
Functions
CloseCLREnumeration 函数
关闭 枚举CLR 函数返回的句柄数组中的任何有效 CLR 继续启动事件,并释放句柄和字符串路径数组的内存。
CloseResumeHandle 函数
关闭 CreateProcessForLaunch 函数返回的句柄。
CLRCreateInstance 函数
提供 ICLRDebugging 接口。
CreateDebuggingInterfaceFromVersion 函数
接受从 CreateVersionStringFromModule 函数 返回的 CLR 版本字符串,并返回相应的调试器接口。
CreateDebuggingInterfaceFromVersionEx 函数
接受从 CreateVersionStringFromModule 函数 返回的 CLR 版本字符串,并返回相应的调试器接口。
CreateDebuggingInterfaceFromVersion2 函数
接受从 CreateVersionStringFromModule 函数返回的 CLR 版本字符串,并返回相应的调试器接口。
CreateDebuggingInterfaceFromVersion3 函数
接受从 CreateVersionStringFromModule 函数 返回的 CLR 版本字符串,并返回相应的调试器接口。
CreateProcessForLaunch 函数
可跨平台支持的 Windows CreateProcess 子集。
CreateVersionStringFromModule 函数
从目标进程中的 CLR 路径创建版本字符串。
EnumerateCLR 函数
提供用于枚举进程中的 CLR 的机制。
GetStartupNotificationEvent 函数
创建或打开一个事件句柄,该句柄将由正在指定目标进程中加载的任何公共语言运行时(CLR)发出信号。
RegisterForRuntimeStartup 函数
在指定进程中启动 .NET 运行时时执行回调。
RegisterForRuntimeStartupEx 函数
在指定进程中启动 .NET 运行时时执行回调。
RegisterForRuntimeStartup3 函数
在指定进程中启动 .NET 运行时时执行回调。
ResumeProcess 函数
使用 CreateProcessForLaunch 函数返回的恢复句柄恢复进程。
UnregisterForRuntimeStartup 函数
停止/取消运行时启动通知。
函数指针
PSTARTUP_CALLBACK函数指针
指向为 RegisterForRuntimeStartup API 启动 .NET 运行时时调用的函数。
接口
ICLRDebuggingLibraryProvider2 接口
包括 ProvideLibrary2 方法,该方法允许调试器提供特定于版本的调试库的路径。
ICLRDebuggingLibraryProvider3 接口
包括一些回调方法,这些方法允许针对 .NET 常规和单文件应用程序按需定位和加载公共语言运行时版本特定的调试库。
ICorDebug 接口
提供允许开发人员在 CLR 环境中调试应用程序的方法。
ICorDebugAppDomain 接口
提供调试应用程序域的方法。
ICorDebugAppDomain2 接口
提供处理数组、指针、函数指针和 ByRef 类型的方法。 此接口是接口的 ICorDebugAppDomain 扩展。
ICorDebugAppDomain3 接口
提供在应用程序域中使用 Windows 运行时类型的方法。 此接口是接口的 ICorDebugAppDomain 扩展和 ICorDebugAppDomain2 接口。
ICorDebugAppDomain4 接口
逻辑扩展 ICorDebugAppDomain 接口,以便从 COM 可调用包装器获取托管对象。
ICorDebugAppDomainEnum 接口
提供一个方法,该方法返回从枚举的下一个位置开始的指定值数 ICorDebugAppDomain 。
ICorDebugArrayValue 接口
表示单维或多维数组的 ICorDebugHeapValue 子类。
ICorDebugAssembly 接口
表示程序集。
ICorDebugAssembly2 接口
表示程序集。 此接口是接口的 ICorDebugAssembly 扩展。
ICorDebugAssembly3 接口
逻辑扩展 ICorDebugAssembly 接口,为容器程序集及其包含的程序集提供支持。
仅适用于 .NET Native。
ICorDebugAssemblyEnum 接口
ICorDebugEnum实现方法并枚举ICorDebugAssembly数组。
ICorDebugBlockingObjectEnum 接口
为 CorDebugBlockingObject 结构列表提供枚举器。
ICorDebugBoxValue 接口
表示装箱值类对象的子类 ICorDebugHeapValue 。
ICorDebugBreakpoint 接口
表示函数中的断点或值上的监视点。
ICorDebugBreakpointEnum 接口
ICorDebugEnum实现方法并枚举ICorDebugBreakpoint数组。
ICorDebugChain 接口
表示物理或逻辑调用堆栈的段。
ICorDebugChainEnum 接口
ICorDebugEnum实现方法并枚举ICorDebugChain数组。
ICorDebugClass 接口
表示一种类型,可以是基本类型或复杂类型(即用户定义的)。 如果类型为泛型, ICorDebugClass 则表示未经证实的泛型类型。
ICorDebugClass2 接口
表示具有类型 Type方法参数的泛型类或类。 此接口扩展 ICorDebugClass。
ICorDebugCode 接口
表示公共中间语言(CIL)代码或本机代码的段。
ICorDebugCode2 接口
提供扩展 . 的功能 ICorDebugCode的方法。
ICorDebugCode3 接口
提供扩展 ICorDebugCode 和 ICorDebugCode2 的方法,以提供有关托管返回值的信息。
ICorDebugCode4 接口
提供一种方法,使调试器能够枚举函数中的局部变量和参数。
ICorDebugCodeEnum 接口
ICorDebugEnum实现方法并枚举ICorDebugCode数组。
ICorDebugComObjectValue 接口
提供检索缓存接口对象的方法。
ICorDebugContext 接口
表示上下文对象。 此接口尚未实现。
ICorDebugController 接口
表示可以控制代码执行上下文的范围( Process 或 AppDomain范围)。
ICorDebugDataTarget 接口
提供一个回调接口,该接口提供对特定目标进程的访问。
ICorDebugDataTarget2 接口
逻辑扩展 ICorDebugDataTarget 接口。
仅适用于 .NET Native。
ICorDebugDataTarget3 接口
逻辑扩展 ICorDebugDataTarget 接口,以提供有关已加载模块的信息。
仅适用于 .NET Native。
ICorDebugDebugEvent 接口
定义从中派生所有 ICorDebug 调试事件的基接口。
仅适用于 .NET Native。
ICorDebugEditAndContinueErrorInfo 接口
Obsolete. 请勿使用此接口。
ICorDebugEditAndContinueSnapshot 接口
Obsolete. 请勿使用此接口。
ICorDebugEnum 接口
用作调试枚举器的抽象基接口。
ICorDebugErrorInfoEnum 接口
Obsolete. 请勿使用此接口。
ICorDebugEval 接口
提供使调试器能够在所调试代码的上下文中执行代码的方法。
ICorDebugEval2 接口
ICorDebugEval扩展以提供对泛型类型的支持。
ICorDebugExceptionDebugEvent 接口
扩展 ICorDebugDebugDebugEvent 接口以支持异常事件。
仅适用于 .NET Native。
ICorDebugExceptionObjectCallStackEnum 接口
为嵌入在异常对象中的调用堆栈信息提供枚举器。
ICorDebugExceptionObjectValue 接口
扩展 ICorDebugObjectValue 接口,以便从托管异常对象提供堆栈跟踪信息。
ICorDebugFrame 接口
表示当前堆栈上的帧。
ICorDebugFrameEnum 接口
ICorDebugEnum实现方法并枚举ICorDebugFrame数组。
ICorDebugFunction 接口
表示托管函数或方法。
ICorDebugFunction2 接口
逻辑扩展 ICorDebugFunction 以提供对“仅我的代码”分步调试的支持。
ICorDebugFunction3 接口
逻辑扩展 ICorDebugFunction 接口,以提供对 ReJIT 请求中的代码的访问。
ICorDebugFunctionBreakpoint 接口
ICorDebugBreakpoint扩展以支持函数中的断点。
ICorDebugGCReferenceEnum 接口
为将垃圾回收的对象提供枚举器。
ICorDebugGenericValue 接口
适用于所有值的子类 ICorDebugValue 。 此接口提供值的 Get 和 Set 方法。
ICorDebugGuidToTypeEnum 接口
为映射 GUID 及其相应 ICorDebugType 对象的对象提供枚举器。
ICorDebugHandleValue 接口
一个子类 ICorDebugReferenceValue ,表示调试器为其创建了垃圾回收句柄的引用值。
ICorDebugHeapEnum 接口
为托管堆上的对象提供枚举器。
ICorDebugHeapSegmentEnum 接口
为托管堆的内存区域提供枚举器。
ICorDebugHeapValue 接口
一个子类 ICorDebugValue ,表示 CLR 垃圾回收器已收集的对象。
ICorDebugHeapValue2 接口
该扩展 ICorDebugHeapValue 为运行时句柄提供支持。
ICorDebugHeapValue3 接口
公开对象的监视器锁属性。
ICorDebugILCode 接口
表示中间语言(IL)代码段。
ICorDebugILCode2 接口
逻辑扩展 ICorDebugILCode 接口,以提供返回函数本地变量签名的令牌的方法,并将探查器的检测中间语言(IL)偏移量映射到原始方法 IL 偏移量。
ICorDebugILFrame 接口
表示 CIL 代码的堆栈帧。
ICorDebugILFrame2 接口
的 ICorDebugILFrame逻辑扩展 。
ICorDebugILFrame3 接口
提供封装函数返回值的方法。
ICorDebugILFrame4 接口
提供用于访问中间语言 (IL) 代码堆栈帧中的局部变量和代码的方法。 参数指定调试器是否有权访问探查器 ReJIT 检测中添加的变量和代码。
ICorDebugInstanceFieldSymbol 接口
表示实例字段的调试符号信息。
仅适用于 .NET Native。
ICorDebugInternalFrame 接口
标识调试器的帧类型。
ICorDebugInternalFrame2 接口
提供有关内部帧的信息,包括相对于 ICorDebugFrame 对象的堆栈地址和位置。
ICorDebugLoadedModule 接口
提供有关已加载模块的信息。
仅适用于 .NET Native。
ICorDebugManagedCallback 接口
提供处理调试器回调的方法。
ICorDebugManagedCallback2 接口
提供支持调试器异常处理和托管调试助手(MDA)的方法。
ICorDebugManagedCallback2 是 . 的 ICorDebugManagedCallback逻辑扩展。
ICorDebugManagedCallback3 接口
提供一个回调方法,指示已启用的自定义调试器通知已引发。
ICorDebugMDA 接口
表示托管调试助手 (MDA) 消息。
ICorDebugMemoryBuffer 接口
表示内存中缓冲区。
仅适用于 .NET Native。
ICorDebugMergedAssemblyRecord 接口
提供有关合并程序集的信息。
仅适用于 .NET Native。
ICorDebugMetaDataLocator 接口
向调试器提供元数据信息。
ICorDebugModule 接口
表示 CLR 模块,它是可执行文件或动态链接库(DLL)。
ICorDebugModule2 接口
用作逻辑扩展。ICorDebugModule
ICorDebugModule3 接口
为动态模块创建符号读取器。
ICorDebugModule4 接口
提供一种方法,用于确定模块是否以映射/冻结格式加载到内存中。
ICorDebugModuleBreakpoint 接口
ICorDebugBreakpoint扩展以提供对特定模块的访问权限。
ICorDebugModuleDebugEvent 接口
扩展 ICorDebugDebugDebugEvent 接口以支持模块级事件。
仅适用于 .NET Native。
ICorDebugModuleEnum 接口
ICorDebugEnum实现方法并枚举ICorDebugModule数组。
ICorDebugMutableDataTarget 接口
扩展 ICorDebugDataTarget 接口以支持可变数据目标。
ICorDebugNativeFrame 接口
用于本机帧的 ICorDebugFrame 专用实现。
ICorDebugNativeFrame2 接口
提供用于测试子帧和父帧关系的方法。
ICorDebugObjectEnum 接口
ICorDebugEnum实现方法,并按对象的相对虚拟地址(RVA)枚举对象数组。
ICorDebugObjectValue 接口
一个子类 ICorDebugValue ,表示包含对象的值。
ICorDebugObjectValue2 接口
ICorDebugObjectValue扩展以支持继承和替代。
ICorDebugProcess 接口
表示正在执行托管代码的进程。
ICorDebugProcess2 接口
的 ICorDebugProcess逻辑扩展 。
ICorDebugProcess3 接口
控制自定义调试器通知。
ICorDebugProcess4 接口
提供对进程外执行控制的支持。
ICorDebugProcess5 接口
扩展 ICorDebugProcess 接口以支持对托管堆的访问、提供有关托管对象的垃圾回收的信息,并确定调试器是否从应用程序的本地本机映像缓存加载映像。
ICorDebugProcess6 接口
逻辑扩展 ICorDebugProcess 接口,以启用在本机异常调试事件和虚拟模块拆分中编码的托管调试事件等功能。
仅适用于 .NET Native。
ICorDebugProcess7 接口
提供一种方法,用于配置调试器以处理目标进程中的内存中元数据更新。
ICorDebugProcess8 接口
逻辑扩展 ICorDebugProcess 接口,以启用或禁用某些类型的 ICorDebugManagedCallback2 异常回调。
ICorDebugProcess11 接口
提供一种方法,用于枚举 .NET 运行时用来存储描述 .NET 类型和方法的内部数据结构的范围。 返回的信息与使用 SOS eeheap -loader 命令显示的相同信息。
ICorDebugProcessEnum 接口
ICorDebugEnum实现方法并枚举ICorDebugProcess数组。
ICorDebugReferenceValue 接口
支持引用类型的子类 ICorDebugValue 。
ICorDebugRegisterSet 接口
表示当前正在执行代码的计算机上可用的寄存器集。
ICorDebugRegisterSet2 接口
扩展具有 64 个以上的寄存器的硬件平台的功能 ICorDebugRegisterSet 。
ICorDebugRemote 接口
提供将托管调试器启动或附加到远程目标进程的功能。
ICorDebugRemoteTarget 接口
提供用于在 CLR 环境中调试基于 Silverlight 的应用程序的方法。
ICorDebugRuntimeUnwindableFrame 接口
提供对需要公共语言运行时(CLR)展开帧的非托管方法的支持。
ICorDebugStackWalk 接口
提供用于在线程堆栈上获取托管方法或帧的方法。
ICorDebugStaticFieldSymbol 接口
表示静态字段的调试符号信息。
仅适用于 .NET Native。
ICorDebugStepper 接口
表示由调试器执行的代码执行中的步骤,充当命令的颁发和完成之间的标识符,并提供取消步骤的方法。
ICorDebugStepper2 接口
提供对“仅我的代码”(JMC)调试的支持。
ICorDebugStepperEnum 接口
ICorDebugEnum实现方法并枚举ICorDebugStepper数组。
ICorDebugStringValue 接口
适用于字符串值的子类 ICorDebugHeapValue 。
ICorDebugSymbolProvider 接口
提供可用于检索调试符号信息的方法。
仅适用于 .NET Native。
ICorDebugSymbolProvider2 接口
逻辑扩展 ICorDebugSymbolProvider 接口以检索其他调试符号信息。
仅适用于 .NET Native。
ICorDebugThread 接口
表示进程中的线程。 实例的 ICorDebugThread 生存期与它所表示的线程的生存期相同。
ICorDebugThread2 接口
用作逻辑扩展。ICorDebugThread
ICorDebugThread3 接口
提供 ICorDebugStackWalk 和相应接口的入口点。
ICorDebugThread4 接口
提供线程阻塞信息。
ICorDebugThreadEnum 接口
ICorDebugEnum实现方法并枚举ICorDebugThread数组。
ICorDebugType 接口
表示一种类型,可以是基本类型或复杂类型(即用户定义的)。 如果类型为泛型, ICorDebugType 则表示实例化的泛型类型。
ICorDebugType2 接口
扩展 ICorDebugType 接口以检索基类型或复杂(用户定义的)类型的类型标识符。
ICorDebugTypeEnum 接口
ICorDebugEnum实现方法并枚举ICorDebugType数组。
ICorDebugUnmanagedCallback 接口
提供与 CLR 不直接相关的本机事件的通知。
ICorDebugValue
表示正在调试的进程中的读取或写入值。
ICorDebugValue2
ICorDebugValue扩展以提供对 ICorDebugType.
ICorDebugValue3 接口
扩展“ICorDebugValue”和“ICorDebugValue2”接口,为大于 2 GB 的数组提供支持。
ICorDebugValueBreakpoint
ICorDebugBreakpoint扩展以提供对特定值的访问。
ICorDebugValueEnum
ICorDebugEnum实现方法并枚举ICorDebugValue数组。
ICorDebugVariableHome 接口
表示函数的局部变量或参数。
ICorDebugVariableHomeEnum 接口
为函数中的局部变量和参数提供枚举器。
ICorDebugVariableSymbol 接口
检索变量的调试符号信息。
仅适用于 .NET Native。
ICorDebugVirtualUnwinder 接口
提供用于帮助堆栈展开的方法。
仅适用于 .NET Native。
结构
CodeChunkInfo 结构
表示内存中的单个代码块。
COR_ACTIVE_FUNCTION
包含有关当前在线程帧中处于活动状态的函数的信息。
COR_ARRAY_LAYOUT结构
提供有关内存中数组对象的布局的信息。
COR_DEBUG_IL_TO_NATIVE_MAP
包含用于将公共中间语言 (CIL) 代码映射到本机代码的偏移量。
COR_DEBUG_STEP_RANGE
包含一系列代码的偏移信息。
COR_FIELD结构
提供有关对象中的字段的信息。
COR_GC_REFERENCE结构
包含有关要进行垃圾回收的对象的信息。
COR_HEAPINFO结构
提供有关垃圾回收堆的一般信息,包括它是否可枚举。
COR_HEAPOBJECT结构
提供有关托管堆上的对象的信息。
COR_IL_MAP
指定函数的相对偏移量的变化。
COR_SEGMENT结构
包含有关托管堆中内存区域的信息。
COR_TYPEID结构
包含类型标识符。
COR_TYPE_LAYOUT结构
提供有关内存中对象的布局的信息。
COR_VERSION
存储公共语言运行时的标准四部分版本号。
CorDebugBlockingObject 结构
定义阻止线程的对象以及阻止线程的原因。
CorDebugEHClause 结构
表示给定中间语言(IL)的异常处理 (EH) 子句。
CorDebugExceptionObjectStackFrame 结构
表示异常对象的堆栈帧信息。
CorDebugGuidToTypeMapping 结构
将 Windows 运行时 GUID 映射到其相应的 ICorDebugType 对象。