j (If - Else の実行)
j コマンドは、指定された式の評価に応じて、指定されたコマンドのいずれかを条件付きで実行します。
j Expression Command1 ; Command2
j Expression 'Command1' ; 'Command2'
パラメーター
Expression
評価する式。 この式が 0 以外の値に評価された場合、Command1 が実行されます。 この式が 0 に評価された場合、Command2 が実行されます。 この式の構文の詳細については、「数値式の構文」を参照してください。
Command1
式 の式がゼロ以外の値 (TRUE) に評価された場合に実行されるコマンド文字列。 コマンド文字列を単一引用符 ( ' ) で囲み、セミコロンを使用してコマンドを区切ることで、複数のコマンドを組み合わせることができます。 コマンド文字列が 1 つのコマンドの場合、単一引用符は省略可能です。
Command2
式の式が 0 (FALSE) に評価された場合に実行されるコマンド文字列。 コマンド文字列を単一引用符 ( ' ) で囲み、セミコロンを使用してコマンドを区切ることで、複数のコマンドを組み合わせることができます。 コマンド文字列が 1 つのコマンドの場合、単一引用符は省略可能です。
Environment
項目 | 説明 |
---|---|
モード | ユーザー モード、カーネル モード |
対象 | ライブ、クラッシュ ダンプ |
プラットフォーム | すべて |
解説
j コマンドの後にセミコロンまたは追加のコマンドを追加することはできません。 Command2 の後にセミコロンが表示される場合、セミコロンの後のすべてが無視されます。
次のコマンドは、MySymbol が 0 の場合は 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' "
このスタイルの条件付きブレークポイントは、デバッガーで簡単なフォームを使用できるようになったので、推奨されなくなりました。 条件付きブレークポイントの構文の詳細については、「条件付きブレークポイントの設定」を参照してください。