生成 WdbgExts 扩展
所有调试器扩展都应使用 Build 实用工具进行编译和生成。 Build 实用工具包含在 Windows 驱动程序工具包 (WDK) 和早期版本的 Windows DDK 中。
请注意以下几点:
WDK 具有多个不同的生成环境窗口。 安装 WDK 时,在开始菜单中都有相应的快捷方式。 若要生成调试器扩展,必须使用最新的 Windows 生成环境,无论将在哪个平台上运行扩展。
Build 实用工具通常无法编译位于包含空格的目录路径中的代码。 扩展代码应位于完整路径不包含空格的目录中。 (具体而言,这意味着,如果将适用于 Windows 的调试工具安装到默认位置 Program Files\Debugging Tools for Windows,则将无法生成示例扩展。)
生成调试器扩展
打开最新 Windows 生成环境窗口。 (可以选择“免费”版本或“检查”版本,除非已在代码中放置 #ifdef DBG 语句,否则它们将提供相同的结果。)
设置变量 _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)
设置 DBGSDK_INC_PATH 和 DBGSDK_LIB_PATH 环境变量,以分别指定调试器 SDK 标头和调试器 SDK 库的路径。 如果 %debuggers% 表示适用于 Windows 的调试工具安装的根目录,则应按如下所示设置这些变量:
set DBGSDK_INC_PATH=%debuggers%\sdk\inc set DBGSDK_LIB_PATH=%debuggers%\sdk\lib
如果已将这些标头和库移动到其他位置,请改为指定该位置。
将当前目录更改为包含扩展的 Dirs 文件或 Sources 文件的目录。
运行 Build 工具:
build -cZMg
有关这些步骤的完整说明,以及如何创建 Dirs 文件和 Sources 文件的说明,请参阅 WDK 中的 Build 实用工具文档。