ICLRDebugging::OpenVirtualProcess 方法

取得 ICorDebugProcess 介面,該介面對應至進程中載入的 Common Language Runtime (CLR) 模組。

語法

HRESULT OpenVirtualProcess(
    [in] ULONG64 moduleBaseAddress,
    [in] IUnknown * pDataTarget,
    [in] ICLRDebuggingLibraryProvider * pLibraryProvider,
    [in] CLR_DEBUGGING_VERSION * pMaxDebuggerSupportedVersion,
    [in] REFIID riidProcess,
    [out, iid_is(riidProcess)] IUnknown ** ppProcess,
    [in, out] CLR_DEBUGGING_VERSION * pVersion,
    [out] CLR_DEBUGGING_PROCESS_FLAGS * pdwFlags);

參數

moduleBaseAddress [in]目標進程中模組的基底位址。 如果指定的模組不是 CLR 模組,則會傳回COR_E_NOT_CLR。

pDataTarget [in]資料目標抽象概念,可讓 Managed 偵錯工具檢查進程狀態。 偵錯工具必須實作 ICorDebugDataTarget 介面。 您應該實 作 ICLRDebuggingLibraryProvider 介面,以支援電腦上未在本機安裝偵錯 CLR 的案例。

pLibraryProvider [in]程式庫提供者回呼介面,允許依需求找到並載入版本特定的偵錯程式庫。 只有在 或 pFlags 不是 nullppProcess ,才需要此參數。

pMaxDebuggerSupportedVersion [in]此偵錯工具可以偵錯的最高 CLR 版本。 您應該指定這個偵錯工具支援的最新 CLR 版本的主要、次要和組建版本,並將修訂編號設定為 65535,以容納未來的就地 CLR 服務版本。

riidProcess [in]要擷取之 ICorDebugProcess 介面的識別碼。 目前,唯一接受的值是IID_CORDEBUGPROCESS3、IID_CORDEBUGPROCESS2和IID_CORDEBUGPROCESS。

ppProcess [out]所識別 riidProcess 之 COM 介面的指標。

pVersion [in, out]CLR 的版本。 在輸入時,此值可以是 null 。 它也可以指向 CLR_DEBUGGING_VERSION 結構,在此情況下,結構欄位 wStructVersion 必須初始化為 0(零)。

在輸出中,傳 CLR_DEBUGGING_VERSION 回的結構會填入 CLR 的版本資訊。

pdwFlags [out]有關指定執行時間的資訊旗標。 如需旗標的描述,請參閱CLR_DEBUGGING_PROCESS_FLAGS 主題。

傳回值

這個方法會傳回下列特定的 HRESULT,以及表示方法失敗的 HRESULT 錯誤。

HRESULT 描述
S_OK 已成功完成命令。
E_POINTER pDataTargetnull
CORDBG_E_LIBRARY_PROVIDER_ERROR ICLRDebuggingLibraryProvider 回呼會傳回錯誤,或未提供有效的控制碼。
CORDBG_E_MISSING_DATA_TARGET_INTERFACE pDataTarget 不會針對這個版本的執行時間實作必要的資料目標介面。
CORDBG_E_NOT_CLR 指定的模組不是 CLR 模組。 當無法偵測到 CLR 模組時,也會傳回此 HRESULT,因為記憶體已損毀、模組無法使用,或 CLR 版本晚于填充碼版本。
CORDBG_E_UNSUPPORTED_DEBUGGING_MODEL 此執行時間版本不支援此偵錯模型。 目前,.NET Framework 4 之前的 CLR 版本不支援偵錯模型。 此錯誤之後, pwszVersion 輸出參數仍會設定為正確的值。
CORDBG_E_UNSUPPORTED_FORWARD_COMPAT CLR 的版本大於這個偵錯工具所宣告支援的版本。 此錯誤之後, pwszVersion 輸出參數仍會設定為正確的值。
E_NO_INTERFACE riidProcess介面無法使用。
CORDBG_E_UNSUPPORTED_VERSION_STRUCT 結構 CLR_DEBUGGING_VERSION 沒有 的可辨識值 wStructVersion 。 目前唯一接受的值是 0。

例外狀況

備註

需求

平台:請參閱系統需求

標頭:CorDebug.idl、CorDebug.h

程式庫:CorGuids.lib

.NET Framework 版本: 自 4 起提供

.NET 版本: 自 .NET Core 2.1 起提供

另請參閱