? (Évaluer l’expression)
La commande point d’interrogation (?
) évalue et affiche la valeur d’une expression.
Un point d’interrogation seul ( ?) affiche l’aide des commandes. La ?
commande expression évalue l’expression donnée.
? Expression
Paramètres
Expression
Spécifie l’expression à évaluer.
Environnement
Élément | Description |
---|---|
Modes | Mode utilisateur, mode noyau |
Targets | Vidage en direct sur incident |
Plateformes | Tous |
Remarques
L’entrée et la sortie de la ?
commande varient selon que vous utilisez la syntaxe d’expression MASM ou la syntaxe de l’expression C++. Pour plus d’informations sur ces types de syntaxe d’expression, consultez Évaluation des expressions et Syntaxe des expressions numériques.
Si vous utilisez la syntaxe MASM, l’entrée et la sortie dépendent du radix actuel. Pour modifier le radix, utilisez la commande n (Set Number Base).
La ?
commande évalue les symboles dans l’expression dans le contexte du thread et du processus actuels.
Certaines chaînes peuvent contenir des échappements, comme \n
, \"
, \r
et \b
, qui sont destinées à être lues littéralement, plutôt qu’interprétées par l’évaluateur. Si un échappement dans une chaîne est interprété par l’évaluateur, des erreurs d’évaluation peuvent se produire. Par exemple :
0:000> as AliasName c:\dir\name.txt
0:000> al
Alias Value
------- -------
AliasName c:\dir\name.txt
0:001> ? $spat( "c:\dir\name.txt", "*name*" )
Evaluate expression: 0 = 00000000
0:001> ? $spat( "${AliasName}", "*name*" )
Evaluate expression: 0 = 00000000
0:001> ? $spat( "c:\dir\", "*filename*" )
Syntax error at '( "c:\dir\", "*filename*" )
Dans les deux premiers exemples, même si la chaîne correspond au modèle, l’évaluateur retourne la valeur FALSE. Dans la troisième, l’évaluateur ne peut pas effectuer de comparaison, car la chaîne se termine par une barre oblique inverse ( \
) et le \"
est donc traduit par l’évaluateur.
Pour que l’évaluateur interprète une chaîne littéralement, vous devez utiliser la @"String"
syntaxe . L’exemple de code suivant montre les résultats corrects :
0:000> ? $spat( @"c:\dir\name.txt", "*name*" )
Evaluate expression: 1 = 00000000`00000001
0:000> ? $spat( @"${AliasName}", "*name*" )
Evaluate expression: 1 = 00000000`00000001
0:001> ? $spat( @"c:\dir\", "*filename*" )
Evaluate expression: 0 = 00000000
Dans les exemples précédents, l’opérateur $spat
MASM vérifie la première chaîne pour déterminer si elle correspond (sans respect de la casse) au modèle de la deuxième chaîne. Pour plus d’informations sur les opérateurs MASM, consultez la rubrique Numéros et opérateurs MASM .
Voir aussi
.formats (Afficher les formats numériques)
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour