Udostępnij za pośrednictwem


ICLRDebugging::OpenVirtualProcess — Metoda

Pobiera interfejs ICorDebugProcess odpowiadający modułowi środowiska uruchomieniowego języka wspólnego (CLR) załadowanym w procesie.

Składnia

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);

Parametry

moduleBaseAddress [in] Podstawowy adres modułu w procesie docelowym. COR_E_NOT_CLR zostanie zwrócona, jeśli określony moduł nie jest modułem CLR.

pDataTarget [in] Abstrakcja docelowa danych, która umożliwia zarządzanemu debugerowi inspekcję stanu procesu. Debuger musi zaimplementować interfejs ICorDebugDataTarget . Należy zaimplementować interfejs ICLRDebuggingLibraryProvider w celu obsługi scenariuszy, w których debugowane środowisko CLR nie jest instalowane lokalnie na komputerze.

pLibraryProvider [in] Interfejs wywołania zwrotnego dostawcy biblioteki, który umożliwia zlokalizowanie i załadowanie bibliotek debugowania specyficznych dla wersji na żądanie. Ten parametr jest wymagany tylko wtedy, gdy ppProcess parametr lub pFlags nie nulljest .

pMaxDebuggerSupportedVersion [in] Najwyższa wersja środowiska CLR, którą ten debuger może debugować. Należy określić wersje główne, pomocnicze i kompilacji z najnowszej wersji środowiska CLR obsługiwanej przez ten debuger i ustawić numer poprawki na 65535, aby uwzględnić przyszłe wersje obsługi środowiska CLR.

riidProcess [in] Identyfikator interfejsu ICorDebugProcess do pobrania. Obecnie jedyne akceptowane wartości to IID_CORDEBUGPROCESS3, IID_CORDEBUGPROCESS2 i IID_CORDEBUGPROCESS.

ppProcess [out] Wskaźnik do interfejsu COM, który jest identyfikowany przez riidProcess.

pVersion [in, out] Wersja środowiska CLR. W danych wejściowych ta wartość może mieć wartość null. Może również wskazywać CLR_DEBUGGING_VERSION strukturę, w tym przypadku pole struktury wStructVersion musi zostać zainicjowane do wartości 0 (zero).

W danych wyjściowych zwrócona struktura zostanie wypełniona CLR_DEBUGGING_VERSION informacjami o wersji środowiska CLR.

pdwFlags [out] Flagi informacyjne dotyczące określonego środowiska uruchomieniowego. Aby uzyskać opis flag, zobacz temat CLR_DEBUGGING_PROCESS_FLAGS.

Wartość zwracana

Ta metoda zwraca następujące określone elementy HRESULTs, a także błędy HRESULT wskazujące niepowodzenie metody.

HRESULT opis
S_OK Metoda została ukończona pomyślnie.
E_POINTER Parametr pDataTarget ma wartość null.
CORDBG_E_LIBRARY_PROVIDER_ERROR Wywołanie zwrotne ICLRDebuggingLibraryProvider zwraca błąd lub nie zapewnia prawidłowego dojścia.
CORDBG_E_MISSING_DATA_TARGET_INTERFACE pDataTarget nie implementuje wymaganych interfejsów docelowych danych dla tej wersji środowiska uruchomieniowego.
CORDBG_E_NOT_CLR Wskazany moduł nie jest modułem CLR. Ten element HRESULT jest również zwracany, gdy nie można wykryć modułu CLR, ponieważ pamięć została uszkodzona, moduł jest niedostępny lub wersja środowiska CLR jest nowsza niż wersja podkładki.
CORDBG_E_UNSUPPORTED_DEBUGGING_MODEL Ta wersja środowiska uruchomieniowego nie obsługuje tego modelu debugowania. Obecnie model debugowania nie jest obsługiwany przez wersje środowiska CLR przed programem .NET Framework 4. Parametr pwszVersion wyjściowy jest nadal ustawiony na poprawną wartość po tym błędzie.
CORDBG_E_UNSUPPORTED_FORWARD_COMPAT Wersja środowiska CLR jest nowsza niż wersja, która obsługuje ten debuger. Parametr pwszVersion wyjściowy jest nadal ustawiony na poprawną wartość po tym błędzie.
E_NO_INTERFACE Interfejs riidProcess jest niedostępny.
CORDBG_E_UNSUPPORTED_VERSION_STRUCT Struktura CLR_DEBUGGING_VERSION nie ma rozpoznanej wartości dla elementu wStructVersion. Jedyną zaakceptowaną wartością w tej chwili jest 0.

Wyjątki

Uwagi

Wymagania

Platformy: zobacz Wymagania systemowe.

Nagłówek: CorDebug.idl, CorDebug.h

Biblioteka: CorGuids.lib

Wersje programu .NET Framework: dostępne od 4

Wersje platformy .NET: dostępne od wersji .NET Core 2.1

Zobacz też