j (Execute If - Else)
Der Befehl j führt bedingt einen der angegebenen Befehle aus, abhängig von der Auswertung eines bestimmten Ausdrucks.
j Expression Command1 ; Command2
j Expression 'Command1' ; 'Command2'
Parameter
Ausdruck
Der auszuwertende Ausdruck. Wenn dieser Ausdruck zu einem Wert ungleich Null ausgewertet wird, wird Command1 ausgeführt. Wenn dieser Ausdruck als Null ausgewertet wird, wird Command2 ausgeführt. Weitere Informationen zur Syntax dieses Ausdrucks finden Sie unter Numerische Ausdruckssyntax.
Befehl1
Die auszuführende Befehlszeichenfolge, wenn der Ausdruck in Expression einen Wert ungleich Null (TRUE) auswertet. Sie können mehrere Befehle kombinieren, indem Sie die Befehlszeichenfolge mit einfachen geraden Anführungszeichen ( ' ) und Trennen von Befehlen mithilfe von Semikolons umgeben. Wenn es sich bei der Befehlszeichenfolge um einen einzelnen Befehl handelt, sind die einfachen Anführungszeichen optional.
Befehl2
Die auszuführende Befehlszeichenfolge, wenn der Ausdruck in Expression als Null (FALSE) ausgewertet wird. Sie können mehrere Befehle kombinieren, indem Sie die Befehlszeichenfolge mit einfachen geraden Anführungszeichen ( ' ) und Trennen von Befehlen mithilfe von Semikolons umgeben. Wenn es sich bei der Befehlszeichenfolge um einen einzelnen Befehl handelt, sind die einfachen Anführungszeichen optional.
Environment
Element | Beschreibung |
---|---|
Modi | Benutzermodus, Kernel-Modus |
Ziele | Live, Crash Dump |
Plattformen | Alle |
Hinweise
Sie können nach dem Befehl j kein Semikolon oder zusätzliche Befehle hinzufügen. Wenn ein Semikolon nach Command2 angezeigt wird, wird alles nach dem Semikolon ignoriert.
Der folgende Befehl zeigt den Wert von eax an, wenn MySymbol gleich Null ist und andernfalls die Werte von ebx und ecx anzeigt.
0:000> j (MySymbol=0) 'r eax'; 'r ebx; r ecx'
Sie können die einfachen Anführungszeichen um R-Eax weglassen, aber sie erleichtern das Lesen des Befehls. Wenn Sie einen der Befehle weglassen möchten, können Sie leere Anführungszeichen einfügen oder den Parameter für diesen Befehl weglassen, wie in den folgenden Befehlen.
0:000> j (MySymbol=0) ''; 'r ebx; r ecx'
0:000> j (MySymbol=0) ; 'r ebx; r ecx'
Sie können auch den Befehl j in anderen Befehlen verwenden. Sie können z. B. einen j-Befehl verwenden, um bedingte Haltepunkte zu erstellen.
0:000> bp `mysource.cpp:143` "j (poi(MyVar)>0n20) ''; 'gc' "
Diese Art von bedingtem Haltepunkt wird nicht mehr empfohlen, da jetzt ein einfacheres Formular im Debugger verfügbar ist. Weitere Informationen zur Syntax von bedingten Haltepunkten finden Sie unter Festlegen eines bedingten Haltepunkts.