CreateDebuggingInterfaceFromVersion2 函数

接受从 CreateVersionStringFromModule 函数返回的公共语言运行时 (CLR) 版本字符串,并返回相应的调试器接口(通常情况下为 ICorDebug)。

语法

HRESULT CreateDebuggingInterfaceFromVersion2 (
    [in] int iDebuggerVersion,
    [in] LPCWSTR szDebuggeeVersion,
    [in] LPCWSTR szApplicationGroupId,
    [out] IUnknown** ppCordb,
);

参数

iDebuggerVersion
[in] 调试器所需的接口版本。

szDebuggeeVersion
[in] 目标调试对象中 CLR 的版本字符串,它由 CreateVersionStringFromModule 函数返回。

szApplicationGroupId
[in] 一个字符串,表示在 macOS 中运行的沙盒进程的应用程序组 ID。 如果进程未在 macOS 或其他平台上的沙盒中运行,则传递 NULL。

ppCordb
[out] 指向“COM 对象的指针”的指针 (IUnknown)。 在返回此对象前,其将强制转换为 ICorDebug 对象。

返回值

S_OK
ppCordb 引用实现 ICorDebug 接口的有效对象。

E_INVALIDARG
szDebuggeeVersionppCordb 为 null。

CORDBG_E_DEBUG_COMPONENT_MISSING
找不到 CLR 调试所需的组件。 未能在与目标 CoreCLR.dll 相同的目录中找到 mscordbi.dllmscordaccore.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 Core 3.1 起可用