.for

.for 标记的行为类似于 C 中的 for 关键字,不同之处在于,多个递增命令必须用分号分隔,而不是用逗号分隔。

.for (InitialCommand ; Condition ; IncrementCommands) { Commands } 

语法元素

InitialCommand
指定将在循环开始前执行的命令。 仅允许单个初始命令。

条件
指定条件。 如果计算结果为零,则将其视为 false;否则为 true。 用括号括起的条件是可选的。 条件必须是表达式,而不能是调试器命令。 它将由默认表达式计算器(MASM 或 C++)计算。 有关详细信息,请参阅数值表达式语法

IncrementCommands
指定将在每个循环结束时执行的一个或多个命令。 如果要使用多个递增命令,请用分号分隔它们,但不要将它们括在大括号中。

命令
指定只要条件为 true 就会重复执行的一个或多个命令。 即使命令包含单个命令,此命令块也需要括在大括号中。 多个命令应用分号分隔,但右大括号前的最后一个命令不需要后跟分号。

其他信息

有关其他控制流令牌及其在调试器命令程序中的使用的信息,请参阅使用调试器命令程序

注解

如果所有工作都是由递增命令完成的,则可以完全省略 条件 ,只需使用一对空的大括号即可。

下面是具有多个递增命令的 .for 语句的示例:

0:000> .for (r eax=0; @eax < 7; r eax=@eax+1; r ebx=@ebx+1) { .... }

.break.continue 令牌可用于退出或重启 Commands 块。