j (Execute If - Else)
La commande j exécute de manière conditionnelle l’une des commandes spécifiées, en fonction de l’évaluation d’une expression donnée.
j Expression Command1 ; Command2
j Expression 'Command1' ; 'Command2'
Paramètres
Expression
Expression à évaluer. Si cette expression est évaluée à une valeur différente de zéro, Command1 est exécutée. Si cette expression est évaluée à zéro, Command2 est exécutée. Pour plus d’informations sur la syntaxe de cette expression, consultez Syntaxe d’expression numérique.
Command1
Chaîne de commande à exécuter si l’expression dans Expression est évaluée à une valeur différente de zéro (TRUE). Vous pouvez combiner plusieurs commandes en entourant la chaîne de commandes avec des guillemets simples ( ' ) et en séparant des commandes à l’aide de points-virgules. Si la chaîne de commande est une seule commande, les guillemets simples sont facultatifs.
Commande2
Chaîne de commande à exécuter si l’expression dans Expression prend la valeur zéro (FALSE). Vous pouvez combiner plusieurs commandes en entourant la chaîne de commandes avec des guillemets simples ( ' ) et en séparant des commandes à l’aide de points-virgules. Si la chaîne de commande est une seule commande, les guillemets simples sont facultatifs.
Environnement
Élément | Description |
---|---|
Modes | Mode utilisateur, mode noyau |
Targets | Live, vidage de la mémoire |
Platforms | Tous |
Notes
Vous ne pouvez pas ajouter de points-virgules ou de commandes supplémentaires après la commande j . Si un point-virgule apparaît après Command2, tout ce qui suit le point-virgule est ignoré.
La commande suivante affiche la valeur d’eax si MySymbol est égal à zéro et affiche les valeurs d’ebx et ecx sinon.
0:000> j (MySymbol=0) 'r eax'; 'r ebx; r ecx'
Vous pouvez omettre les guillemets simples autour de r eax, mais ils facilitent la lecture de la commande. Si vous souhaitez omettre l’une des commandes, vous pouvez inclure des guillemets vides ou omettre le paramètre de cette commande, comme dans les commandes suivantes.
0:000> j (MySymbol=0) ''; 'r ebx; r ecx'
0:000> j (MySymbol=0) ; 'r ebx; r ecx'
Vous pouvez également utiliser la commande j à l’intérieur d’autres commandes. Par exemple, vous pouvez utiliser une commande j pour créer des points d’arrêt conditionnels.
0:000> bp `mysource.cpp:143` "j (poi(MyVar)>0n20) ''; 'gc' "
Ce style de point d’arrêt conditionnel n’est plus recommandé, car un formulaire plus simple est désormais disponible dans le débogueur. Pour plus d’informations sur la syntaxe des points d’arrêt conditionnels, consultez Définition d’un point d’arrêt conditionnel.