其他数据空间

在内核模式调试中,除了main内存和寄存器之外,还可以将数据读取和写入各种数据空间。 可以访问以下数据空间:

系统总线
ReadBusDataWriteBusData 方法读取和写入系统总线数据。

Control-Space Memory
ReadControlWriteControl 读取和写入控制空间内存的方法。

I/O 内存。
方法 ReadIoWriteIo 读取和写入系统和总线 I/O 内存。

特定于模型的寄存器 (MSR)
方法 ReadMsrWriteMsr 读取和写入 MSR,它们是为特定 CPU 模型启用和禁用功能并支持调试的控制寄存器。

处理

在用户模式调试中,可以使用目标进程拥有的系统句柄获取有关系统对象的信息。 ReadHandleData 方法可用于读取此信息。

可以使用 GetCurrentThreadHandle 和 GetCurrentProcessHandle 方法获取线程和进程系统对象的系统 句柄 。 当发生 create-thread 和 create-process 调试事件时,这些句柄还会提供给 IDebugEventCallbacks::CreateThreadIDebugEventCallbacks::CreateProcess 回调方法。

注意 在内核模式下,进程句柄和线程句柄是人工句柄。 它们不是系统句柄。