Поделиться через


f, fp (заполнение памяти)

Команды f и fp заполняют указанный диапазон памяти повторяющимся шаблоном.

Эти команды не следует путать с командой ~F (Замораживание потока ).

f Range Pattern 
fp [MemoryType] PhysicalRange Pattern

Параметры

Диапазон
Задает диапазон в виртуальной памяти для заполнения. Дополнительные сведения о синтаксисе см. в разделе "Синтаксис диапазона адресов" и "Адрес".

PhysicalRange
(только режим ядра) Задает диапазон в физической памяти для заполнения. Синтаксис PhysicalRange совпадает с синтаксисом диапазона виртуальной памяти, за исключением того, что имена символов не разрешены.

MemoryType
(только режим ядра) Указывает тип физической памяти, который может быть одним из следующих вариантов:

[c]
Кэшированная память.

[uc]
Некшированная память.

[wc]
Объединенная память записи.

Рисунок
Указывает одно или несколько байтовых значений, с помощью которых заполняется память.

Среда

Режимы

f: пользовательский режим, режим ядра fp: только режим ядра

Целевые объекты

live, аварийное дампа

Платформы

all

Дополнительная информация

Обзор операций с памятью и описание других команд, связанных с памятью, см. в статье "Чтение и запись памяти".

Замечания

Эта команда заполняет область памяти, указанную диапазоном, заданным заданным шаблоном, повторяемым столько раз, сколько необходимо.

Параметр шаблона должен быть входным в виде ряда байтов. Их можно ввести как числовые или как символы ASCII.

Числовые значения интерпретируются как числа в текущем радиксе (16, 10 или 8). Чтобы изменить радикс по умолчанию, используйте команду n (Set Number Base). Радикс по умолчанию можно переопределить, указав префикс 0x (шестнадцатеричный), префикс 0n (десятичный ), префикс 0t (восьмерику) или 0y префикс (двоичный).

Обратите внимание , что радикс по умолчанию работает по-разному при использовании выражений C++. Дополнительные сведения см. в разделе "Оценка выражений ".

Если используются символы ASCII, каждый символ должен быть заключен в одну прямую кавычки. Экранные символы в стиле C (например, \0 или \n) не могут использоваться.

Если задано несколько байтов, они должны быть разделены пробелами.

Если шаблон имеет больше значений, чем число байтов в диапазоне, отладчик игнорирует дополнительные значения.

Ниже приведено несколько примеров. Если текущий радикс равен 16, следующая команда заполняет расположения памяти 0012FF40 до 0012FF5F с шаблоном ABC, повторяющиеся несколько раз:

0:000> f 0012ff40 L20 'A' 'B' 'C'

Следующая команда имеет тот же эффект:

0:000> f 0012ff40 L20 41 42 43

В следующих примерах показано, как использовать типы физической памяти (c, uc и wc) с командой fp в режиме ядра:

kd> fp [c] 0012ff40 L20 'A' 'B' 'C'
kd> fp [uc] 0012ff40 L20 'A' 'B' 'C'
kd> fp [wc] 0012ff40 L20 'A' 'B' 'C'