目标信息

GetDebuggeeType 方法会返回当前目标的性质(例如,是内核模式目标还是用户模式目标),以及调试器引擎与其连接的方式。

如果目标是崩溃转储文件,则 GetDumpFormatFlags 方法将指明转储中包含哪些信息。

目标计算机

目标计算机的页面大小由 GetPageSize 返回。 IsPointer64Bit 将指明计算机是使用 32 位还是 64 位地址。

注意在内部,调试器引擎始终使用 64 位目标地址。 如果目标只使用 32 位地址,则引擎会在与目标通信时自动转换这些地址。

目标计算机中的处理器数由 GetNumberProcessors 返回。

与目标计算机关联的处理器类型有三种:

  • 实际处理器类型是目标计算机中的物理处理器类型。 该值由 GetActualProcessorType 返回。

  • 正在执行的处理器类型是当前正在执行的处理器上下文中使用的处理器类型。 该值由 GetExecutingProcessorType 返回。

  • 有效的处理器类型是调试器在解释来自目标的信息(例如设置断点、访问寄存器和获取堆栈跟踪)时使用的处理器类型。 有效处理器类型由 GetEffectiveProcessorType 返回,可使用 SetEffectiveProcessorType 进行更改。

有效的处理器类型和执行处理器类型可能与实际处理器类型不同,例如,当物理处理器是 x64 处理器但在 x86 模式下运行时。

目标计算机上的物理处理器支持的不同执行处理器类型由 GetPossibleExecutingProcessorTypes 返回。 这些类型的数量由 GetNumberPossibleExecutingProcessorTypes 返回。

调试器引擎支持的处理器类型列表由 GetSupportedProcessorTypes 返回。 支持的处理器类型数量由 GetNumberSupportedProcessorTypes 返回。

处理器类型的名称(完整和缩写)由 GetProcessorTypeNames 返回。

目标计算机上的当前时间由 GetCurrentTimeDate 返回。 目标计算机自上次启动以来的运行时间长度由 GetCurrentSystemUpTime 返回。 时间信息可能不适用于所有目标。

目标版本

目标计算机上运行的 Windows 版本由 GetSystemVersionValuesRequest 操作 DEBUG_REQUEST_GET_WIN32_MAJOR_MINOR_VERSIONS 返回,而 Windows 版本的描述由 GetSystemVersionString 返回。 GetSystemVersion 也会返回其中一些信息。