Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Команда вопросительного знака (?) вычисляет и отображает значение выражения.
Сам по себе вопросительный знак (?) отображает справку по команде. Команда ? выражения вычисляет заданное выражение.
? Expression
Параметры
Выражение
Указывает выражение для вычисления.
Среда
| Позиция | Description |
|---|---|
| Режимы | Режим пользователя, режим ядра |
| Целевые объекты | Динамический, аварийный дампа |
| Платформы | Все |
Замечания
Входные и выходные данные ? команды зависят от того, используется ли синтаксис выражения MASM или синтаксис выражения C++. Дополнительные сведения об этих типах синтаксиса выражений см. в разделе "Оценка выражений" и "Синтаксис числовых выражений".
Если используется синтаксис MASM, входные и выходные данные зависят от текущего радикса. Чтобы изменить радикс, используйте команду n (set Number Base).
Команда ? вычисляет символы в выражении в контексте текущего потока и процесса.
Некоторые строки могут содержать escape-адреса, такие как \n, \r\"и \b, которые должны быть прочитаны буквально, а не интерпретированы вычислителем. Если экран в строке интерпретируется оценщиком, могут возникать ошибки в оценке. Например:
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*" )
В первых двух примерах, даже если строка соответствует шаблону, средство оценки возвращает значение FALSE. В третьем средство оценки не может выполнить сравнение, так как строка заканчивается обратной косой чертой ( \ ) и поэтому \" преобразуется вычислителем.
Чтобы получить средство оценки для интерпретации строки буквально, необходимо использовать @"String" синтаксис. В следующем примере кода показаны правильные результаты:
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
В предыдущих примерах оператор MASM проверяет первую строку, $spat чтобы определить, соответствует ли она (без учета регистра) шаблон второй строки. Дополнительные сведения о операторах MASM см. в разделе "Номера и операторы MASM".
См. также
Форматы .форматов (отображение числовых форматов)