_EFN_StackTrace – funkce
Poskytuje textovou reprezentaci trasování spravovaného zásobníku a pole CONTEXT
záznamů, jeden pro každý přechod mezi nespravovaným a spravovaným kódem.
Syntaxe
HRESULT CALLBACK _EFN_StackTrace(
[in] PDEBUG_CLIENT Client,
[out] WCHAR wszTextOut[],
[out] size_t *puiTextLength,
[out] LPVOID pTransitionContexts,
[out] size_t *puiTransitionContextCount,
[in] size_t uiSizeOfContext,
[in] DWORD Flags
);
Parametry
Client
[v] Laděný klient.
wszTextOut
[out] Textová reprezentace trasování zásobníku
puiTextLength
[out] Ukazatel na počet znaků v wszTextOut
.
pTransitionContexts
[out] Pole kontextů přechodu.
puiTransitionContextCount
[out] Ukazatel na počet kontextů přechodu v poli.
uiSizeOfContext
[v] Velikost kontextové struktury
Flags
[v] Nastavením hodnoty 0 nebo SOS_STACKTRACE_SHOWADDRESSES (0x01) zobrazíte registr EBP a před každým module!functionname
řádkem zadáte ukazatel zásobníku (ESP).
Poznámky
Strukturu _EFN_StackTrace
lze volat z programového rozhraní WinDbg. Parametry se používají takto:
Pokud
wszTextOut
je hodnota null apuiTextLength
není null, vrátí funkce délku řetězce vpuiTextLength
.Pokud
wszTextOut
nemá hodnotu null, uloží funkce textwszTextOut
až do umístění označeného parametrempuiTextLength
. Vrátí se úspěšně, pokud je ve vyrovnávací paměti dostatek místa, nebo vrátí E_OUTOFMEMORY, pokud vyrovnávací paměť nebyla dostatečně dlouhá.Přechodová část funkce se ignoruje, pokud
pTransitionContexts
puiTransitionContextCount
i mají hodnotu null. V tomto případě funkce poskytuje volajícím textový výstup pouze s názvy funkcí.Pokud
pTransitionContexts
je hodnota null apuiTransitionContextCount
není null, vrátí funkce potřebný počet kontextových položek vpuiTransitionContextCount
souboru .Pokud
pTransitionContexts
není null, funkce ji považuje za pole struktur délkypuiTransitionContextCount
. Velikost struktury je daná parametremuiSizeOfContext
a musí se jednat o velikost SimpleContext neboCONTEXT
pro danou architekturu.wszTextOut
je napsán v následujícím formátu:"<ModuleName>!<Function Name>[+<offset in hex>] ... (TRANSITION) ..."
Pokud je posun v šestnáctkovém formátu 0x0, nezapíše se žádný posun.
Pokud vlákno aktuálně v kontextu neobsahuje žádný spravovaný kód, vrátí funkce SOS_E_NOMANAGEDCODE.
Parametr
Flags
je 0 nebo SOS_STACKTRACE_SHOWADDRESSES, aby se ebp a ESP zobrazovaly před každoumodule!functionname
čárou. Ve výchozím nastavení je to 0.#define SOS_STACKTRACE_SHOWADDRESSES 0x00000001
Požadavky
Platformy: Viz Požadavky na systém.
Záhlaví: SOS_Stacktrace.h
Verze rozhraní .NET Framework: K dispozici od verze 2.0
Viz také
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro