CreateDebuggingInterfaceFromVersion3 函数
接受从 CreateVersionStringFromModule 函数返回的公共语言运行时 (CLR) 版本字符串,并返回相应的调试器接口(通常情况下为 ICorDebug)。
语法
HRESULT CreateDebuggingInterfaceFromVersion3 (
[in] int iDebuggerVersion,
[in] LPCWSTR szDebuggeeVersion,
[in] LPCWSTR szApplicationGroupId,
[in] ICLRDebuggingLibraryProvider3* pLibraryProvider,
[out] IUnknown** ppCordb,
);
参数
iDebuggerVersion
[in] 调试器所需的接口版本。
szDebuggeeVersion
[in] 目标调试对象中 CLR 的版本字符串,它由 CreateVersionStringFromModule 函数返回。
szApplicationGroupId
[in] 一个字符串,表示在 macOS 中运行的沙盒进程的应用程序组 ID。 如果进程未在 macOS 或其他平台上的沙盒中运行,则传递 NULL。
pLibraryProvider
[in] 用于查找 DBI 和 DAC 的回调接口实例。 请参阅 ICLRDebuggingLibraryProvider3 接口。
ppCordb
[out] 指向“COM 对象的指针”的指针 (IUnknown
)。 在返回此对象前,其将强制转换为 ICorDebug 对象。
返回值
S_OK
ppCordb
引用实现 ICorDebug 接口的有效对象。
E_INVALIDARG
szDebuggeeVersion
或 ppCordb
为 null。
CORDBG_E_DEBUG_COMPONENT_MISSING
找不到 CLR 调试所需的组件。 未能在与目标 CoreCLR.dll 相同的目录中找到 mscordbi.dll 或 mscordaccore.dll。
CORDBG_E_INCOMPATIBLE_PROTOCOL
mscordbi.dll 或 mscordaccore.dll 与目标 CoreCLR.dll 版本不一致。
E_FAIL
(或其他 E_
返回代码)
无法返回 ICorDebug 接口。
备注
返回的接口提供用于附加到目标进程中的 CLR 和调试 CLR 正在运行的托管代码的功能。
要求
平台:请参阅 .NET 支持的操作系统。
标头:dbgshim.h
库:dbgshim.dll、libdbgshim.so、libdbgshim.dylib
.NET 版本:自 .NET 6.0 起可用