共用方式為


ICLRDebugging::OpenVirtualProcess 方法

取得對應至進程中載入的共用語言執行階段 (CLR) 模組的 ICorDebugProcess 介面。

語法

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 [在]目標進程中模組的基元位址。 COR_E_NOT_CLR 如果指定的模組不是 CLR 模組,則會傳回。

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

pLibraryProvider [在]程式庫提供者回呼介面,可視需要尋找和載入版本特定的偵錯程式庫。 只有在 或 pFlags 不是 null時,ppProcess才需要此參數。

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

riidProcess [在]要擷取的 ICorDebugProcess 介面識別碼。 目前,唯一接受的值是 IID_CORDEBUGPROCESS3IID_CORDEBUGPROCESS2IID_CORDEBUGPROCESS

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

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

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

pdwFlags [出]指定執行階段的參考旗標。 如需旗標的說明,請參閱 CLR_DEBUGGING_PROCESS_FLAGS

傳回值

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

HRESULT Description
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_VERSIONwStructVersion辨識值。 此時唯一接受的值是 0。

Exceptions

備註

需求

平台:請參閱系統需求

標題: CorDebug.idl、CorDebug.h

圖書館: CorGuids.lib

.NET Framework 版本: 自 4 日起可用

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

另請參閱