Funzione _EFN_StackTrace
Fornisce una rappresentazione testuale di una traccia dello stack gestito e una matrice di record CONTEXT
, uno per ogni transizione tra codice non gestito e gestito.
Sintassi
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
);
Parametri
Client
[in] Il client sottoposto a debug.
wszTextOut
[out] Rappresentazione del testo della traccia dello stack.
puiTextLength
[out] Puntatore al numero di caratteri in wszTextOut
.
pTransitionContexts
[out] Matrice di contesti di transizione.
puiTransitionContextCount
[out] Puntatore al numero di contesti di transizione nella matrice.
uiSizeOfContext
[in] Dimensione della struttura del contesto.
Flags
[in] Impostare su 0 o SOS_STACKTRACE_SHOWADDRESSES (0x01) per visualizzare il registro EBP e il puntatore dello stack (ESP) immesso davanti a ogni module!functionname
riga.
Commenti
La _EFN_StackTrace
struttura può essere chiamata da un'interfaccia programmatica WinDbg. I parametri vengono usati come segue:
Se
wszTextOut
è Null epuiTextLength
non è Null, la funzione restituisce la lunghezza della stringa inpuiTextLength
.Se
wszTextOut
non è Null, la funzione archivia il testo finowszTextOut
alla posizione indicata dapuiTextLength
. Restituisce correttamente se nel buffer c'era spazio sufficiente o restituisce E_OUTOFMEMORY se il buffer non era abbastanza lungo.La parte di transizione della funzione viene ignorata se
pTransitionContexts
epuiTransitionContextCount
sono entrambi Null. In questo caso, la funzione fornisce ai chiamanti l'output di testo solo dei nomi di funzione.Se
pTransitionContexts
è Null epuiTransitionContextCount
non è Null, la funzione restituisce il numero necessario di voci di contesto inpuiTransitionContextCount
.Se
pTransitionContexts
non è Null, la funzione lo considera come una matrice di strutture di lunghezzapuiTransitionContextCount
. Le dimensioni della struttura sono specificate dauiSizeOfContext
e devono essere le dimensioni di SimpleContext oCONTEXT
per l'architettura.wszTextOut
è scritto nel formato seguente:"<ModuleName>!<Function Name>[+<offset in hex>] ... (TRANSITION) ..."
Se l'offset nell'hex è 0x0, non viene scritto alcun offset.
Se non è presente codice gestito nel thread attualmente nel contesto, la funzione restituisce SOS_E_NOMANAGEDCODE.
Il
Flags
parametro è 0 o SOS_STACKTRACE_SHOWADDRESSES per visualizzare EBP e ESP davanti a ognimodule!functionname
riga. Per impostazione predefinita, è 0.#define SOS_STACKTRACE_SHOWADDRESSES 0x00000001
Requisiti
Piattaforme: vedere Requisiti di sistema di .NET Framework.
Intestazione: SOS_Stacktrace.h
Versioni di .NET Framework: Disponibile da 2.0
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per