Partager via


j (Exécuter si - 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é. Si cette expression est évaluée à zéro, Command2 est exécuté. Pour plus d’informations sur la syntaxe de cette expression, consultez Syntaxe d’expression numérique.

Commande1
Chaîne de commande à exécuter si l’expression dans Expression prend une valeur différente de zéro (TRUE). Vous pouvez combiner plusieurs commandes en entourant la chaîne de commande de guillemets simples ( ' ) et en séparant les commandes à l’aide de points-virgules. Si la chaîne de commande est une commande unique, 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 commande de guillemets simples ( ' ) et en séparant les commandes à l’aide de points-virgules. Si la chaîne de commande est une commande unique, les guillemets simples sont facultatifs.

Environnement

Élément Description
Modes Mode utilisateur, mode noyau
Targets Vidage en direct sur incident
Plateformes Tous

Remarques

Vous ne pouvez pas ajouter un point-virgule ou des commandes supplémentaires après la commande j . Si un point-virgule apparaît après Command2, tout ce qui se trouve après le point-virgule est ignoré.

La commande suivante affiche la valeur de eax si MySymbol est égal à zéro et affiche les valeurs de ebx et ecx dans le cas contraire.

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 dans 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.

Voir aussi

z (Exécuter en cours)