Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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 testuale dell'analisi 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] Dimensioni della struttura del contesto.
Flags [in] Impostare su 0 o SOS_STACKTRACE_SHOWADDRESSES (0x01) per visualizzare il registro EBP e il puntatore allo stack di immissione (ESP) davanti a ogni module!functionname riga.
Osservazioni:
La _EFN_StackTrace struttura può essere chiamata da un'interfaccia a livello di codice WinDbg. I parametri vengono usati come segue:
Se
wszTextOutè null epuiTextLengthnon è Null, la funzione restituisce la lunghezza della stringa inpuiTextLength.Se
wszTextOutnon è Null, la funzione archivia il testo finowszTextOutalla posizione indicata dapuiTextLength. Restituisce correttamente se è presente spazio sufficiente nel buffer o restituisce E_OUTOFMEMORY se il buffer non era abbastanza lungo.La parte di transizione della funzione viene ignorata se
pTransitionContextsepuiTransitionContextCountsono entrambi Null. In questo caso, la funzione fornisce ai chiamanti solo l'output di testo dei nomi delle funzioni.Se
pTransitionContextsè null epuiTransitionContextCountnon è Null, la funzione restituisce il numero necessario di voci di contesto inpuiTransitionContextCount.Se
pTransitionContextsnon è Null, la funzione la considera come una matrice di strutture di lunghezzapuiTransitionContextCount. Le dimensioni della struttura sono specificate dauiSizeOfContexte devono essere le dimensioni di SimpleContext oCONTEXTper l'architettura.wszTextOutè scritto nel formato seguente:"<ModuleName>!<Function Name>[+<offset in hex>] ... (TRANSITION) ..."Se l'offset in esadecimale è 0x0, non viene scritto alcun offset.
Se nel contesto non è presente alcun codice gestito, la funzione restituisce SOS_E_NOMANAGEDCODE.
Il
Flagsparametro è 0 o SOS_STACKTRACE_SHOWADDRESSES per vedere EBP ed ESP davanti a ognimodule!functionnameriga. Per impostazione predefinita, è 0.#define SOS_STACKTRACE_SHOWADDRESSES 0x00000001
Requisiti
Piattaforme: vedere Requisiti di sistema.
Intestazione: SOS_Stacktrace.h
Versioni di .NET Framework: disponibili dalla versione 2.0