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


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

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

Системная шина
Методы ReadBusData и WriteBusData считывают и записывают данные системной шины.

памятьControl-Space
Методы ReadControl и WriteControl считывают и записывают память пространства управления.

Память ввода-вывода.
Методы ReadIo и WriteIo считывают и записывают системную и шинную память ввода-вывода.

Регистр конкретных моделей (MSR)
Методы ReadMsr и WriteMsr считывают и записывают MSR, которые являются регистрами элементов управления, которые позволяют и отключают функции, а также поддерживают отладку для определенной модели ЦП.

Ручки

При отладке в пользовательском режиме сведения о системных объектах можно получить с помощью системных дескрипторов, принадлежащих целевому процессу. Метод ReadHandleData можно использовать для чтения этих сведений.

Системные дескриптора для объектов системы потоков и процессов можно получить с помощью методов GetCurrentThreadHandle и GetCurrentProcessHandle . Эти дескрипторы также предоставляются методам обратного вызова IDebugEventCallbacks::CreateThread и IDebugEventCallbacks::CreateProcess при возникновении событий отладки создания потока и создания процесса.

Заметка В режиме ядра дескрипторы процессов и потоков являются искусственными дескрипторами. Они не являются системными дескрипторами.