Доступ к памяти 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 обработчика отладчика этой документации.