Sdílet prostřednictvím


ICorDebugStackWalk::GetContext – metoda

Vrátí kontext pro aktuální rámec v ICorDebugStackWalk objektu.

Syntaxe

HRESULT GetContext([in]  ULONG32 contextFlags,
                   [in]  ULONG32 contextBufSize,
                   [out] ULONG32* contextSize,
                   [out, size_is(contextBufSize)] BYTE contextBuf[]);

Parametry

contextFlags [v] Příznaky, které označují požadovaný obsah kontextové vyrovnávací paměti (definované v winNT.h).

contextBufSize [v] Přidělená velikost kontextové vyrovnávací paměti.

contextSize [ven] Skutečná velikost kontextu. Tato hodnota musí být menší nebo rovna velikosti kontextové vyrovnávací paměti.

contextBuf [ven] Kontextová vyrovnávací paměť.

Návratová hodnota

Tato metoda vrátí následující konkrétní HRESULTs a také chyby HRESULT, které označují selhání metody.

HRESULT Popis
S_OK Kontext aktuálního rámce byl úspěšně vrácen.
E_FAIL Kontext nelze vrátit.
HRESULT_FROM_WIN32(vyrovnávací paměť ERROR_INSUFFICIENT) Kontextová vyrovnávací paměť je příliš malá.
CORDBG_E_PAST_END_OF_STACK Ukazatel rámce je již na konci zásobníku; proto není možné získat přístup k žádným dalším snímkům.

Výjimky

Poznámky

Vzhledem k tomu, že odvíjení obnoví pouze podmnožinu registrů, například nevolatilní registry, nemusí kontext přesně odpovídat stavu registru v době volání.

Požadavky

Platformy: Viz požadavky na systém.

Hlavička: CorDebug.idl, CorDebug.h

Knihovna: CorGuids.lib

Verze rozhraní .NET Framework: Dostupné od verze 4

Viz také