Condividi tramite


Metodo IDebugControl5::OutputContextStackTraceEx (dbgeng.h)

Il metodo OutputContextStackTraceEx stampa lo stack di chiamate specificato da una matrice di stack frame e i contesti di registro corrispondenti. Il metodo OutputContextStackTraceEx fornisce il supporto dei fotogrammi inline. Per altre informazioni sull'uso delle funzioni inline, vedere Debug di codice ottimizzato e funzioni inline.

Sintassi

HRESULT OutputContextStackTraceEx(
  [in] ULONG                 OutputControl,
  [in] PDEBUG_STACK_FRAME_EX Frames,
  [in] ULONG                 FramesSize,
  [in] PVOID                 FrameContexts,
  [in] ULONG                 FrameContextsSize,
  [in] ULONG                 FrameContextsEntrySize,
  [in] ULONG                 Flags
);

Parametri

[in] OutputControl

Specifica dove inviare l'output. Per i valori possibili, vedere DEBUG_OUTCTL_XXX.

[in] Frames

Specifica la matrice di stack frame da restituire. Il numero di elementi in questa matrice è FramesSize. Se frame è NULL, viene usato lo stack frame corrente.

[in] FramesSize

Specifica il numero di fotogrammi da restituire.

[in] FrameContexts

Specifica il contesto del registro 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.

[in] FrameContextsSize

Specifica le dimensioni, in byte, della memoria a cui punta FrameContexts. Il numero di stack frame deve essere uguale al numero di contesti e FrameContextsSize deve essere uguale FrameSize moltiplicato per FrameContextsEntrySize.

[in] FrameContextsEntrySize

Specifica le dimensioni, in byte, di ogni contesto di fotogramma in FrameContexts.

[in] Flags

Specifica i flag di bit che determinano le informazioni da restituire per ogni fotogramma. Flag può essere qualsiasi combinazione di valori della tabella seguente.

Bandiera Descrizione
DEBUG_STACK_ARGUMENTS Visualizza i primi tre pezzi di memoria dello stack nel frame di ogni chiamata. Nelle piattaforme in cui gli argomenti vengono passati nello stack e il codice per il frame usa argomenti stack, questi valori saranno gli argomenti della funzione.
DEBUG_STACK_FUNCTION_INFO Visualizza informazioni sulla funzione che corrisponde al frame. Sono incluse le informazioni sulle convenzioni di chiamata e sull'omissione del puntatore a fotogrammi.This include calling convention and frame pointer omission (FPO).
DEBUG_STACK_SOURCE_LINE Visualizza le informazioni sulla riga di origine per ogni frame dell'analisi dello stack.
DEBUG_STACK_FRAME_ADDRESSES Visualizza l'indirizzo restituito, l'indirizzo del frame precedente e altri indirizzi pertinenti per ogni frame.
DEBUG_STACK_COLUMN_NAMES Visualizza i nomi delle colonne.
DEBUG_STACK_NONVOLATILE_REGISTERS Visualizza il contesto del registro non volatile per ogni fotogramma. Questo è significativo solo per alcune piattaforme.
DEBUG_STACK_FRAME_NUMBERS Visualizza i numeri di fotogramma.
DEBUG_STACK_PARAMETERS Visualizza i nomi e i valori dei parametri come indicato nelle informazioni sui simboli.
DEBUG_STACK_FRAME_ADDRESSES_RA_ONLY Visualizza solo l'indirizzo restituito negli indirizzi dello stack frame.
DEBUG_STACK_FRAME_MEMORY_USAGE Visualizza il numero di byte che separano i fotogrammi.
DEBUG_STACK_PARAMETERS_NEWLINE Visualizza ogni parametro e il relativo tipo e valore in una nuova riga.

Valore restituito

Questo metodo può anche restituire valori di errore. Per altri dettagli, vedere valori restituiti.

Codice restituito Descrizione
S_OK
Il metodo ha avuto esito positivo.

Fabbisogno

Requisito Valore
piattaforma di destinazione Desktop
intestazione dbgeng.h

Vedere anche

IDebugControl5