Partager via


Méthode IDebugControl5 ::OutputContextStackTraceEx (dbgeng.h)

La méthode OutputContextStackTraceEx imprime la pile des appels spécifiée par un tableau de cadres de pile et les contextes de registre correspondants. La méthode OutputContextStackTraceEx assure la prise en charge du frame inline. Pour plus d’informations sur l’utilisation des fonctions inline, consultez Débogage de code optimisé et fonctions inline.

Syntaxe

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
);

Paramètres

[in] OutputControl

Spécifie où envoyer la sortie. Pour connaître les valeurs possibles, consultez DEBUG_OUTCTL_XXX.

[in] Frames

Spécifie le tableau de trames de pile à générer. Le nombre d’éléments dans ce tableau est FramesSize. Si Frames a la valeur NULL, le frame de pile actuel est utilisé.

[in] FramesSize

Spécifie le nombre de trames à générer.

[in] FrameContexts

Spécifie le contexte de registre pour chaque image de la pile. Les entrées de ce tableau correspondent aux entrées du tableau Frames . Le type du contexte de thread est la structure CONTEXT du processeur effectif de la cible.

[in] FrameContextsSize

Spécifie la taille, en octets, de la mémoire pointée par FrameContexts. Le nombre d’images de pile doit être égal au nombre de contextes, et FrameContextsSize doit être égal à FramesSize multiplié par FrameContextsEntrySize.

[in] FrameContextsEntrySize

Spécifie la taille, en octets, de chaque contexte d’image dans FrameContexts.

[in] Flags

Spécifie les indicateurs de bits qui déterminent les informations à générer pour chaque image. Les indicateurs peuvent être n’importe quelle combinaison de valeurs du tableau suivant.

Indicateur Description
DEBUG_STACK_ARGUMENTS Affiche les trois premiers morceaux de mémoire de pile au niveau du cadre de chaque appel. Sur les plateformes où les arguments sont transmis sur la pile et où le code du frame utilise des arguments de pile, ces valeurs seront les arguments de la fonction.
DEBUG_STACK_FUNCTION_INFO Affiche des informations sur la fonction qui correspond au frame. Cela inclut la convention d’appel et les informations d’omission de pointeur de trame (FPO).
DEBUG_STACK_SOURCE_LINE Affiche les informations de ligne source pour chaque image de la trace de pile.
DEBUG_STACK_FRAME_ADDRESSES Affiche l’adresse de retour, l’adresse de frame précédente et d’autres adresses pertinentes pour chaque image.
DEBUG_STACK_COLUMN_NAMES Affiche les noms de colonnes.
DEBUG_STACK_NONVOLATILE_REGISTERS Affiche le contexte de registre non volatile pour chaque image. Cela n’est significatif que pour certaines plateformes.
DEBUG_STACK_FRAME_NUMBERS Affiche les numéros de cadre.
DEBUG_STACK_PARAMETERS Affiche les noms et les valeurs des paramètres comme indiqués dans les informations de symbole.
DEBUG_STACK_FRAME_ADDRESSES_RA_ONLY Affiche uniquement l’adresse de retour dans les adresses de trame de pile.
DEBUG_STACK_FRAME_MEMORY_USAGE Affiche le nombre d’octets qui séparent les images.
DEBUG_STACK_PARAMETERS_NEWLINE Affiche chaque paramètre, ainsi que son type et sa valeur sur une nouvelle ligne.

Valeur retournée

Cette méthode peut également retourner des valeurs d’erreur. Pour plus d’informations, consultez Valeurs de retour.

Code de retour Description
S_OK
La méthode a réussi.

Configuration requise

Condition requise Valeur
Plateforme cible Desktop (Expérience utilisateur)
En-tête dbgeng.h

Voir aussi

IDebugControl5