Freigeben über


? (Ausdruck auswerten)

Der Fragezeichenbefehl (?) wertet den Wert eines Ausdrucks aus und zeigt den Wert an.

Ein Fragezeichen selbst (?) zeigt die Befehlshilfe an. Der ? Ausdrucksbefehl wertet den angegebenen Ausdruck aus.

? Expression

Parameter

Expression

Gibt den zu bewertenden Ausdruck an.

Environment

Element Beschreibung
Modi Benutzermodus, Kernel-Modus
Ziele Live, Crash Dump
Plattformen Alle

Hinweise

Die Eingabe und Ausgabe des ? Befehls hängen davon ab, ob Sie MASM-Ausdruckssyntax oder C++-Ausdruckssyntax verwenden. Weitere Informationen zu diesen Arten von Ausdruckssyntax finden Sie unter Auswerten von Ausdrücken und numerischer Ausdruckssyntax.

Wenn Sie MASM-Syntax verwenden, hängt die Eingabe und Ausgabe vom aktuellen Radix ab. Verwenden Sie zum Ändern des Radix den Befehl "n" (Set Number Base).

Der ? Befehl wertet Symbole im Ausdruck im Kontext des aktuellen Threads und Prozesses aus.

Einige Zeichenfolgen können Escapezeichen enthalten, z \n. B. , \", \rund \b, die wörtlich gelesen werden sollen, anstatt vom Evaluator interpretiert zu werden. Wenn ein Escapezeichen innerhalb einer Zeichenfolge vom Evaluator interpretiert wird, können Fehler in der Auswertung auftreten. Zum Beispiel:

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*" )

In den ersten beiden Beispielen gibt der Evaluator zwar mit dem Muster übereinstimmt, einen Wert von FALSE zurück. Im dritten Kann der Evaluator keinen Vergleich vornehmen, da die Zeichenfolge in einem umgekehrten Schrägstrich ( \ ) endet und daher \" vom Evaluator übersetzt wird.

Um den Evaluator zum buchstäblichen Interpretieren einer Zeichenfolge zu erhalten, müssen Sie die @"String" Syntax verwenden. Das folgende Codebeispiel zeigt die richtigen Ergebnisse:

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

In den vorangehenden Beispielen überprüft der $spat MASM-Operator die erste Zeichenfolge, um festzustellen, ob das Muster der zweiten Zeichenfolge mit der Groß-/Kleinschreibung übereinstimmt (Groß-/Kleinschreibung). Weitere Informationen zu MASM-Operatoren finden Sie im Thema "MASM Numbers and Operators ".

Weitere Informationen

?? (Auswerten des C++-Ausdrucks)

.formats (Zahlenformate anzeigen)

MASM-Nummern und -Operatoren

C++-Nummern und -Operatoren

MASM-Ausdrücke im Vergleich zu C++-Ausdrücken

Beispiele für gemischte Ausdrücke