Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Команда числового знака (#) ищет указанный шаблон в коде дизассембля.
# [Pattern] [Address [ L Size ]]
Параметры
Шаблон
Указывает шаблон для поиска в коде дизассемблата. Шаблон может содержать различные подстановочные знаки и описатели. Дополнительные сведения о синтаксисе см. в разделе Синтаксис строковых подстановочных знаков. Если вы хотите включить пробелы в шаблон, необходимо заключить шаблон в кавычки. В шаблоне регистр не учитывается. Если вы ранее использовали # команду и опустили Шаблон, команда повторно использует последний использованный шаблон.
Адрес
Указывает адрес, с которого начинается поиск. Дополнительные сведения о синтаксисе см. в разделе Синтаксис адресов и диапазонов адресов.
Размер
Указывает количество инструкций для поиска. Если опустить размер, поиск продолжается до первого совпадения.
Среда
| Элемент | Описание |
|---|---|
| Режимы | Пользовательский режим, режим ядра |
| Цели | Динамический аварийный дамп |
| Платформы | Все |
Дополнительные сведения
Дополнительные сведения об отладке сборок и связанных командах см. в разделе Отладка в режиме сборки.
Комментарии
Если вы ранее использовали # команду и опустили Адрес, поиск начинается там, где закончился предыдущий поиск.
Эта команда выполняет поиск указанного шаблона в дизассемблированном тексте. Эту команду можно использовать для поиска имен регистров, констант или любой другой строки, которая отображается в выходных данных дизассембля. Вы можете повторить команду без параметра Address , чтобы найти последовательные вхождения шаблона.
Инструкции дизассемблирования можно просмотреть с помощью команды u (Unassemble) или окна Дизассемблирования в WinDbg. Дизассемблированное отображение содержит до четырех частей: смещение адреса, двоичный код, mnemonic языка сборки и сведения о языке сборки. В следующем примере показано возможное отображение.
0040116b 45 inc ebp
0040116c fc cld
0040116d 8945b0 mov eax,[ebp-0x1c]
Команда # может искать текст в любой отдельной части дизассемблированного отображения. Например, можно использовать #eax 0040116b, чтобы найти инструкцию mov eax,[ebp-0x1c] по адресу 0040116d. Следующие команды также находят эту инструкцию.
# [ebp?0x 0040116b
# mov 0040116b
# 8945* 0040116b
# 116d 0040116b
Однако невозможно выполнить поиск mov eax* как единое целое, так как mov и eax отображаются в разных частях экрана. Вместо этого используйте mov*eax.
В качестве дополнительного примера можно выполнить следующую команду, чтобы найти первую ссылку на функцию strlen после точки входа main.
# strlen main
Аналогичным образом можно выполнить следующие две команды, чтобы найти первую инструкцию jnz после адреса 0x779F9FBA, а затем найти следующую инструкцию jnz после нее.
# jnz 779f9fba#
Если опустить шаблон или адрес, их значения основаны на предыдущем использовании # команды. Если опустить любой из параметров при первом выполнении # команды, поиск не выполняется. Однако значения Шаблон и Адрес инициализируются даже в этой ситуации.
Если вы включили шаблон или адрес, для него будет задано введенное значение. Если опустить адрес, он инициализируется текущим значением счетчика программы. Если опустить шаблон, он инициализируется пустым шаблоном.