.pour
Le jeton .for se comporte comme le mot clé en C, sauf que plusieurs commandes d’incrément doivent être séparées par des points-virgules, et non par des virgules.
.for (InitialCommand ; Condition ; IncrementCommands) { Commands }
Éléments de syntaxe
InitialCommand
Spécifie une commande qui sera exécutée avant le début de la boucle. Seule une seule commande initiale est autorisée.
Condition
Spécifie une condition. Si cet élément est égal à zéro, il est traité comme ayant la valeur False ; sinon, il est traité comme ayant la valeur True. Il n’est pas obligatoire de placer Condition entre parenthèses. Condition doit être une expression, et non une commande de débogueur. Elle sera évaluée par l’évaluateur d’expression par défaut (MASM ou C++). Pour plus d’informations, consultez Syntaxe d’expression numérique.
IncrementCommands
Spécifie une ou plusieurs commandes qui seront exécutées à la fin de chaque boucle. Si vous souhaitez utiliser plusieurs commandes d’incrémentation, séparez-les par des points-virgules, mais ne les placez pas dans des accolades.
Commandes
Spécifie une ou plusieurs commandes qui seront exécutées à plusieurs reprises tant que la condition est vraie. Ce bloc de commandes doit être placé entre accolades, même s’il se compose d’une seule commande. Plusieurs commandes doivent être séparées par des points-virgules. La dernière commande avant l’accolade fermante n’a pas besoin d’être suivie d’un point-virgule.
Informations supplémentaires
Pour plus d’informations sur les autres jetons de flux de contrôle et leur utilisation dans les programmes de commandes du débogueur, consultez Utilisation des programmes de commande du débogueur.
Notes
Si tout le travail est effectué par les commandes d’incrément, vous pouvez omettre entièrement condition et simplement utiliser une paire vide d’accolades.
Voici un exemple d’instruction .for avec plusieurs commandes d’incrément :
0:000> .for (r eax=0; @eax < 7; r eax=@eax+1; r ebx=@ebx+1) { .... }
Les jetons .break et .continue peuvent être utilisés pour quitter ou redémarrer le bloc Commands.