Tracepdb 概述

跟踪提供程序(如用户模式应用程序和内核模式驱动程序)将其跟踪消息以二进制形式存储,以提高效率。 若要读取跟踪消息,必须在跟踪提供程序代码中应用为每个跟踪消息指定的格式设置说明。

WPP 预处理器从跟踪提供程序的代码中提取格式设置说明,并将其添加到跟踪提供程序的 PDB 符号文件中

Tracepdb 从跟踪提供程序的 PDB 符号文件的完整版本或专用版本中提取格式设置说明, (从公共符号文件中删除跟踪格式设置指令。) 并为源代码中的每个跟踪提供程序创建 跟踪消息格式 (.tmf) 文件 。 TMF 文件是仅包含提供程序跟踪消息的格式设置说明的文本文件。

以可读格式显示跟踪消息的工具(如 TraceViewTracefmt)使用 TMF 文件来分析和设置跟踪消息的格式。 此外,可以将 TMF 文件分发给用户,而不是分发私有符号文件。

Tracepdb 创建 MOF (.mof) 文件,其中包含 PDB 文件中表示的每个跟踪提供程序的控制 GUID 和跟踪级别。 MOF 文件的名称是跟踪提供程序的模块名称。

如果使用 -c 选项,Tracepdb 还可以为源代码中的每个跟踪提供程序创建跟踪消息控件 (.tmc) 文件。 TMC 文件包含 PDB 文件中表示的每个跟踪提供程序 的控制 GUID 和跟踪级别。 TMC 文件的名称是 跟踪提供程序的控制 GUID。 如果使用的是不带 PDB 文件的 Traceview,则只应关注 TMC 文件。

Tracepdb 的唯一功能是创建 TMF 文件。 但是,除其他功能外,其他工具(如 BinPlace、TraceView 和 Tracefmt)还会创建 TMF 文件。 使用 Tracepdb 等效于使用 binplace -:tmf 命令、 traceview -parsepdb 命令和 tracefmt -i 命令。

在 Windows Vista 之前的系统上,Tracepdb 需要mspdb70.dll和msvcr70.dll。 如果这些文件与 Tracepdb.exe 文件不在同一目录中,请在使用 Tracepdb 之前移动它们。

在 Windows Vista 之前的系统上,必须将 windows 驱动程序工具包的 bin\<Platform> 子目录 (WDK) (其中 <平台>为 x86、amd64 或 ia64) 的 Dbghelp.dll 文件复制到Tracefmt.exe所在的目录中。

有关事件跟踪的详细信息,请参阅 Windows SDK 文档。 有关在内核模式驱动程序和用户模式应用程序中使用事件跟踪的信息,请参阅 WPP 软件跟踪