Dela via


ICLRDebugging::OpenVirtualProcess-metod

Hämtar ICorDebugProcess-gränssnittet som motsvarar en CLR-modul (Common Language Runtime) som läses in i processen.

Syntax

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

Parametrar

moduleBaseAddress [i] Basadressen för en modul i målprocessen. COR_E_NOT_CLR returneras om den angivna modulen inte är en CLR-modul.

pDataTarget [i] En abstraktion av datamål som gör att det hanterade felsökningsprogrammet kan inspektera processtillståndet. Felsökningsprogrammet måste implementera gränssnittet ICorDebugDataTarget . Du bör implementera gränssnittet ICLRDebuggingLibraryProvider för att stödja scenarier där DEN CLR som debuggas inte är installerad lokalt på datorn.

pLibraryProvider [i] Ett gränssnitt för återanrop till biblioteksprovidern som gör att versionsspecifika felsökningsbibliotek kan lokaliseras och läsas in på begäran. Den här parametern krävs endast om ppProcess eller pFlags inte nullär .

pMaxDebuggerSupportedVersion [i] Den högsta versionen av CLR som det här felsökningsprogrammet kan felsöka. Du bör ange huvud-, del- och versionsversionerna från den senaste CLR-versionen som det här felsökningsprogrammet stöder och ange revisionsnumret till 65535 för att hantera framtida CLR-serviceversioner på plats.

riidProcess [i] ID:t för det ICorDebugProcess-gränssnitt som ska hämtas. För närvarande är de enda godkända värdena IID_CORDEBUGPROCESS3, IID_CORDEBUGPROCESS2 och IID_CORDEBUGPROCESS.

ppProcess [ut] En pekare till COM-gränssnittet som identifieras av riidProcess.

pVersion [in, ut] Versionen av CLR. Vid indata kan det här värdet vara null. Det kan också peka på en CLR_DEBUGGING_VERSION struktur, i vilket fall strukturens fält måste initieras wStructVersion till 0 (noll).

Vid utdata fylls den returnerade CLR_DEBUGGING_VERSION strukturen i med versionsinformationen för CLR.

pdwFlags [ut] Informationsflaggor om den angivna körningen. En beskrivning av flaggorna finns i avsnittet CLR_DEBUGGING_PROCESS_FLAGS .

Returvärde

Den här metoden returnerar följande specifika HRESULT-fel samt HRESULT-fel som indikerar metodfel.

HRESULT Beskrivning
S_OK Metoden har slutförts.
E_POINTER pDataTarget är null.
CORDBG_E_LIBRARY_PROVIDER_ERROR Återanropet ICLRDebuggingLibraryProvider returnerar ett fel eller ger inte ett giltigt handtag.
CORDBG_E_MISSING_DATA_TARGET_INTERFACE pDataTarget implementerar inte de nödvändiga datamålgränssnitten för den här versionen av körningen.
CORDBG_E_NOT_CLR Den angivna modulen är inte en CLR-modul. Denna HRESULT returneras också när en CLR-modul inte kan identifieras eftersom minnet har skadats, modulen inte är tillgänglig eller CLR-versionen är senare än shim-versionen.
CORDBG_E_UNSUPPORTED_DEBUGGING_MODEL Den här körningsversionen stöder inte den här felsökningsmodellen. För närvarande stöds inte felsökningsmodellen av CLR-versioner före .NET Framework 4. Utdataparametern pwszVersion är fortfarande inställd på rätt värde efter det här felet.
CORDBG_E_UNSUPPORTED_FORWARD_COMPAT Versionen av CLR är större än den version som det här felsökningsprogrammet påstår sig ha stöd för. Utdataparametern pwszVersion är fortfarande inställd på rätt värde efter det här felet.
E_NO_INTERFACE Gränssnittet riidProcess är inte tillgängligt.
CORDBG_E_UNSUPPORTED_VERSION_STRUCT Strukturen CLR_DEBUGGING_VERSION har inget igenkänt värde för wStructVersion. Det enda godkända värdet för tillfället är 0.

Undantag

Kommentarer

Krav

Plattformar: Se Systemkrav.

Rubrik: CorDebug.idl, CorDebug.h

Bibliotek: CorGuids.lib

.NET Framework-versioner: Finns sedan 4

.NET-versioner: Finns sedan .NET Core 2.1

Se även