j(执行 If - Else)
j 命令有条件地执行指定的命令之一,具体取决于给定表达式的计算。
j Expression Command1 ; Command2
j Expression 'Command1' ; 'Command2'
参数
表达
要计算的表达式。 如果此表达式的计算结果为非零值,则执行 Command1 。 如果此表达式的计算结果为零,则执行 Command2 。 有关此表达式的语法的详细信息,请参阅 数值表达式语法。
Command1
如果 Expression 中的表达式的计算结果为非零值 (TRUE) ,则要执行的命令字符串。 可以通过将命令字符串与单个直引号 ( ' ) 和使用分号分隔命令来组合多个命令。 如果命令字符串是单个命令,则单引号是可选的。
Command2
如果 Expression 中的表达式的计算结果为零 (FALSE) ,则执行的命令字符串。 可以通过将命令字符串与单个直引号 ( ' ) 和使用分号分隔命令来组合多个命令。 如果命令字符串是单个命令,则单引号是可选的。
环境
项 | 说明 |
---|---|
模式 | 用户模式、内核模式 |
目标 | 实时、故障转储 |
平台 | 全部 |
注解
不能在 j 命令后面添加分号或其他命令。 如果 Command2 后面出现分号,则忽略分号后的所有内容。
如果 MySymbol 等于零,则以下命令显示 eax 的值,否则将显示 ebx 和 ecx 的值。
0:000> j (MySymbol=0) 'r eax'; 'r ebx; r ecx'
可以省略 r eax 周围的单引号,但它们使命令更易于阅读。 如果要省略其中一个命令,可以包含空引号或省略该命令的参数,如以下命令所示。
0:000> j (MySymbol=0) ''; 'r ebx; r ecx'
0:000> j (MySymbol=0) ; 'r ebx; r ecx'
还可以在其他命令中使用 j 命令。 例如,可以使用 j 命令创建条件断点。
0:000> bp `mysource.cpp:143` "j (poi(MyVar)>0n20) ''; 'gc' "
不再建议使用此样式的条件断点,因为调试器中现在提供了更简单的形式。 有关条件断点语法的详细信息,请参阅 设置条件断点。
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈