生成 WdbgExts 扩展

所有调试器扩展都应使用 Build 实用工具进行编译和生成。 Build 实用工具包含在 Windows 驱动程序工具包 (WDK) 和早期版本的 Windows DDK 中。

请注意以下几点:

  • WDK 具有多个不同的生成环境窗口。 安装 WDK 时,在开始菜单中都有相应的快捷方式。 若要生成调试器扩展,必须使用最新的 Windows 生成环境,无论将在哪个平台上运行扩展。

  • Build 实用工具通常无法编译位于包含空格的目录路径中的代码。 扩展代码应位于完整路径不包含空格的目录中。 (具体而言,这意味着,如果将适用于 Windows 的调试工具安装到默认位置 Program Files\Debugging Tools for Windows,则将无法生成示例扩展。)

生成调试器扩展

  1. 打开最新 Windows 生成环境窗口。 (可以选择“免费”版本或“检查”版本,除非已在代码中放置 #ifdef DBG 语句,否则它们将提供相同的结果。)

  2. 设置变量 _NT_TARGET_VERSION,以指示要在其中运行扩展的最旧版本的 Windows。 _NT_TARGET_VERSION 可以设置为以下值。

    Windows 版本

    _NT_TARGET_VERSION_WIN2K

    Windows 2000 及更高版本。

    _NT_TARGET_VERSION_WINXP

    Windows XP 及更高版本。

    _NT_TARGET_VERSION_WS03

    Windows Server 2003 和更高版本。

    _NT_TARGET_VERSION_LONGHORN

    Windows Vista 及更高版本。

如果未设置_NT_TARGET_VERSION,则扩展将仅在打开生成窗口的 Windows 版本(及更高版本)上运行。 例如,在 Sources 文件中放入以下行将生成一个将在 Windows 上运行的扩展名:console _NT_TARGET_VERSION = $(_NT_TARGET_VERSION_WINXP)

  1. 设置 DBGSDK_INC_PATH 和 DBGSDK_LIB_PATH 环境变量,以分别指定调试器 SDK 标头和调试器 SDK 库的路径。 如果 %debuggers% 表示适用于 Windows 的调试工具安装的根目录,则应按如下所示设置这些变量:

    set DBGSDK_INC_PATH=%debuggers%\sdk\inc
    set DBGSDK_LIB_PATH=%debuggers%\sdk\lib
    

    如果已将这些标头和库移动到其他位置,请改为指定该位置。

  2. 将当前目录更改为包含扩展的 Dirs 文件或 Sources 文件的目录。

  3. 运行 Build 工具:

    build -cZMg
    

有关这些步骤的完整说明,以及如何创建 Dirs 文件和 Sources 文件的说明,请参阅 WDK 中的 Build 实用工具文档。