其他数据空间
在内核模式调试中,除了main内存和寄存器之外,还可以将数据读取和写入各种数据空间。 可以访问以下数据空间:
系统总线
ReadBusData 和 WriteBusData 方法读取和写入系统总线数据。
Control-Space Memory
ReadControl 和 WriteControl 读取和写入控制空间内存的方法。
I/O 内存。
方法 ReadIo 和 WriteIo 读取和写入系统和总线 I/O 内存。
特定于模型的寄存器 (MSR)
方法 ReadMsr 和 WriteMsr 读取和写入 MSR,它们是为特定 CPU 模型启用和禁用功能并支持调试的控制寄存器。
处理
在用户模式调试中,可以使用目标进程拥有的系统句柄获取有关系统对象的信息。 ReadHandleData 方法可用于读取此信息。
可以使用 GetCurrentThreadHandle 和 GetCurrentProcessHandle 方法获取线程和进程系统对象的系统 句柄 。 当发生 create-thread 和 create-process 调试事件时,这些句柄还会提供给 IDebugEventCallbacks::CreateThread 和 IDebugEventCallbacks::CreateProcess 回调方法。
注意 在内核模式下,进程句柄和线程句柄是人工句柄。 它们不是系统句柄。