j (執行 If - Else)
j 命令會根據給定表達式的評估,有條件地執行其中一個指定的命令。
j Expression Command1 ; Command2
j Expression 'Command1' ; 'Command2'
參數
表達
要評估的運算式。 如果此表達式評估為非零值, 則會執行 Command1 。 如果此表達式評估為零, 則會執行 Command2 。 如需此表達式語法的詳細資訊,請參閱 數值表達式語法。
Command1
如果 Expression 中的運算式評估為非零值(TRUE),則要執行的命令字串。 您可以結合多個命令,方法是將命令字串與單引號 ( ' ) 結合,並使用分號分隔命令。 如果命令字串是單一命令,則單引號是選擇性的。
Command2
如果 Expression 中的運算式評估為零(FALSE),則要執行的命令字串。 您可以結合多個命令,方法是將命令字串與單引號 ( ' ) 結合,並使用分號分隔命令。 如果命令字串是單一命令,則單引號是選擇性的。
Environment
項目 | 說明 |
---|---|
模式 | 使用者模式、核心模式 |
目標 | 即時、損毀傾印 |
平台 | 全部 |
備註
您無法在 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' "
不再建議使用這種條件式斷點樣式,因為調試程式現在提供更簡單的表單。 如需條件斷點語法的詳細資訊,請參閱 設定條件斷點。