生成 WdbgExts 扩展

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

请注意以下几点:

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

  • 生成实用工具通常无法编译位于包含空格的目录路径中的代码。 扩展代码应位于其完整路径不包含空格的目录中。 (,这意味着如果将 Windows 调试工具安装到默认位置 (适用于 Windows 的程序文件\调试工具)中,将无法生成示例扩展。)

生成调试器扩展

  1. 打开生成环境的最新Windows窗口。 (可以选择"免费"版本或"已选中"版本 -- 除非在 code 中放入 dbG #ifdef, 否则它们会提供相同的结果。)

  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 版本上运行, (及更高版本) 。 例如,在"源"文件中放置以下行将生成一个扩展,该扩展将在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 -cZMg
    

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