!for_each_frame
L’extension !for_each_frame exécute une commande de débogueur une fois pour chaque trame dans la pile du thread actuel.
!for_each_frame ["CommandString"]
!for_each_frame -?
Paramètres
CommandString
Spécifie les commandes de débogueur à exécuter une fois pour chaque trame. Si CommandString inclut plusieurs commandes, vous devez les séparer par des points-virgules et placer CommandString entre guillemets. Si vous incluez plusieurs commandes, les commandes individuelles dans CommandString ne peuvent pas contenir de guillemets. Si vous souhaitez faire référence à l’index de la trame actuelle dans CommandString, utilisez le pseudo-inscription @$frame.
- ?
Affiche un texte d’aide pour cette extension dans la fenêtre de commande de débogueur.
DLL
Ext.dll
Informations supplémentaires
Pour plus d’informations sur le contexte local, veuillez consulter la section Modification des contextes.
Notes
Si vous ne spécifiez aucun argument, l’extension !for_each_frame affiche une liste de toutes les trames et de leurs indices de trame. Pour une liste plus détaillée de toutes les trames, utilisez la commande k (Afficher la trace de la pile arrière).
La commande k parcourt jusqu’à 256 trames. Pour chaque trame énumérée, cette trame devient temporairement le contexte local actuel (similaire à la commande .frame (Définir le contexte local)). Une fois que le contexte a été défini, CommandString est exécuté. Une fois que toutes les trames ont été utilisées, le contexte local est réinitialisé à sa valeur avant l’utilisation de l’extension !for_each_frame.
Si vous incluez CommandString, le débogueur affiche la trame et son indice avant que la commande ne soit exécutée pour cette trame.
La commande suivante affiche toutes les variables locales pour la pile actuelle.
!for_each_frame !for_each_local dt @#Local