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


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

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

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

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

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

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

Ручки

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

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

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