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