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 |
---|---|
|
La méthode a réussi. |
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | dbgeng.h |