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


Доступ к памяти WdbgExts

В этом разделе приводится краткий обзор того, как получить доступ к памяти с помощью API WdbgExts. Общие сведения о доступе к памяти в подсистеме отладчика см. в разделе Память в разделе Обзор подсистемы отладчика этой документации.

Виртуальная память

Виртуальную память целевого объекта можно считать с помощью функции ReadMemory и записать с помощью функции WriteMemory . Указатели в памяти целевого объекта можно считывать и записывать с помощью функций ReadPointer, ReadPtr и WritePointer .

Для поиска шаблона байтов в виртуальной памяти используйте функцию SearchMemory .

Функция TranslateVirtualToPhysical может использоваться для преобразования адреса виртуальной памяти в адрес физической памяти.

Функция Disasm может использоваться для деассемблинга одной инструкции сборки на целевом объекте.

Чтобы проверка низкие 4 ГБ памяти при повреждении при использовании расширения физических адресов (PAE), используйте операцию IoctlIG_LOWMEM_CHECK.

Физическая память

Прямой доступ к физической памяти можно получить только при отладке в режиме ядра.

Физическую память целевого объекта можно считать с помощью функций ReadPhysical и ReadPhysicalWithFlags , а также записать с помощью функций WritePhysical и WritePhysicalWithFlags .

Чтобы найти в физической памяти указатели на расположения в указанном диапазоне, используйте операцию IoctlIG_POINTER_SEARCH_PHYSICAL.

Другие пространства данных

При отладке в режиме ядра можно считывать и записывать данные в различные пространства данных в дополнение к main памяти. Доступны следующие пространства данных:

Память пространства управления
Функции ReadControlSpace, ReadControlSpace64, ReadTypedControlSpace32 и ReadTypedControlSpace64 считывают данные из пространства управления. Функция WriteControlSpace записывает данные в пространство управления.

Память ввода-вывода
Функции ReadIoSpace, ReadIoSpace64, ReadIoSpace64, ReadIoSpaceEx64 считывают данные из системной памяти ввода-вывода и памяти ввода-вывода шины. Функции WriteIoSpace, WriteIoSpace64, WriteIoSpaceEx и WriteIoSpaceEx64 записывают данные в системную память ввода-вывода и шинную память ввода-вывода.

Регистр конкретной модели (MSR)
Функции ReadMsr и WriteMsr считывают и записывают MSR.

Системная шина
Операции IoctlIG_GET_BUS_DATA и IG_SET_BUS_DATA считывания и записи данных системной шины.

Дополнительные сведения

Более мощный API доступа к памяти см. в разделе Доступ к памяти в разделе Использование API обработчика отладчика этой документации.