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.
Il metodo GetContextStackTraceEx restituisce i fotogrammi all'inizio dello stack di chiamate, a partire da un contesto arbitrario registro e restituendo il contesto del registro ricostruito per ogni stack frame. Il metodo GetContextStackTraceEx fornisce il supporto dei frame inline. Per altre informazioni sull'uso delle funzioni inline, vedere Debug di codice ottimizzato e funzioni inline.
Sintassi
HRESULT GetContextStackTraceEx(
[in, optional] PVOID StartContext,
[in] ULONG StartContextSize,
[out, optional] PDEBUG_STACK_FRAME_EX Frames,
[in] ULONG FramesSize,
[out, optional] PVOID FrameContexts,
[in] ULONG FrameContextsSize,
[in] ULONG FrameContextsEntrySize,
[out, optional] PULONG FramesFilled
);
Parametri
[in, optional] StartContext
Specifica il contesto del registro per la parte superiore dello stack.
[in] StartContextSize
Specifica le dimensioni, in byte, del contesto di registrazione StartContext.
[out, optional] Frames
Riceve gli stack frame. Il numero di elementi contenuti in questa matrice è FrameSize. Se Frame è NULL, queste informazioni non vengono restituite.
[in] FramesSize
Specifica il numero di elementi nella matrice Frame.
[out, optional] FrameContexts
Riceve il contesto del registro ricostruito per ogni frame nello stack. Le voci in questa matrice corrispondono alle voci della matrice frame. Il tipo di contesto del thread è la struttura CONTEXT per il processore effettivo della destinazione. Se FrameContexts è NULL, queste informazioni non vengono restituite.
[in] FrameContextsSize
Specifica le dimensioni, in byte, della memoria a cui punta FrameContexts. Il numero di stack frame restituiti è uguale al numero di contesti restituiti e FrameContextsSize deve essere uguale FrameSize volte FrameContextsEntrySize.
[in] FrameContextsEntrySize
Specifica le dimensioni, in byte, di ogni contesto di fotogramma in FrameContexts.
[out, optional] FramesFilled
Riceve il numero di fotogrammi posizionati nella matrice Frame e contesti in FrameContexts. Se FrameFilled è null, queste informazioni non vengono restituite.
Valore restituito
Codice restituito | Descrizione |
---|---|
|
Il metodo ha avuto esito positivo. |
Questo metodo può anche restituire valori di errore. Per altre informazioni, vedere valori restituiti.
Osservazioni
È possibile stampare l'analisi dello stack restituita a Frame e FrameContexts usando OutputContextStackTraceEx.
È comune che le operazioni di rimozione dello stack ripristinino solo un subset dei registri. Ad esempio, la rimozione dello stack non ripristina sempre lo stato del registro volatile perché i registri volatili sono registri scratch e il codice non deve conservarli. I registri non ripristinati durante la rimozione vengono lasciati come ultimo valore ripristinato, quindi prestare attenzione quando si utilizza lo stato del registro che potrebbe non essere ripristinato da una rimozione.
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Desktop |
intestazione | dbgeng.h (include Dbgeng.h, Ntddk.h) |