軟體追蹤的工具

Microsoft Windows Driver Kit (WDK) 包含一組應用程式和命令列工具來進行軟體追蹤。 這些工具的設計目的是支援 Windows (ETW 事件追蹤) ,並補充 Windows 中包含的追蹤工具。

什麼是追蹤工具?

這些工具組括可設定、啟動、更新和停止追蹤會話的 追蹤控制器 ,以及接收會話期間所產生追蹤訊息的 追蹤取 用者,並將二進位資料轉換成人類可讀取的檔案或顯示格式。

這些工具支援各種 追蹤提供者,包括使用者模式應用程式和核心模式驅動程式,這些驅動程式是使用 WPP 軟體追蹤Windows (事件追蹤或 Windows 事件追蹤 ETW) 來檢測軟體追蹤。 如需檢測程式碼的兩種方法的比較,請參閱 何時使用適用于 Windows 的 WPP 軟體追蹤和事件追蹤 (ETW)

這些工具也可以存取 Windows 內建的保留追蹤會話,例如全域記錄器追蹤會話 / NT 核心記錄器追蹤會話

其中有些工具位於 Windows 驅動程式套件 (WDK) 的工具\ <Platform> 子目錄中,其中 <Platform> 是 x86 或 x64。 其他工具隨附于 Windows,或位於 WDK 的 bin\ <Platform> 子目錄中。

何時應該使用 WPP 軟體追蹤或 Windows (ETW 事件追蹤) API?

如果您想要主要收集追蹤資料以供開發和偵錯之用,請使用 WPP 軟體追蹤 。 使用 Windows 事件追蹤 (ETW) 進行其他類型的追蹤。

WPP 軟體追蹤 Manifested/TraceLogging ETW
Windows 2000 和更新版本支援。 Windows Vista 和更新版本支援。
追蹤開發和偵錯的事件。 大部分是內部開發人員焦點。 針對系統管理、操作、分析和偵錯目的追蹤事件。
需要 TMF 檔案來解碼從記錄二進位檔的 PDB 擷取的事件。 要解碼事件的中繼資料會包含在本機二進位檔或事件承載中。
每個追蹤提供者只能有一個作用中的會話。 事件可以多工處理給多個取用者。
訊息字串無法當地語系化。 字串可以當地語系化。
提供者安全性僅限於不共用啟用和解碼事件所需的控制 GUID 或 TMF 檔案。 提供者可以套用 ACL 來限制哪些使用者可以從中收集事件。
 

如需使用 Windows 軟體追蹤預處理器 (WPP) 宏將軟體追蹤新增至驅動程式或應用程式的相關資訊,請參閱 WPP 軟體追蹤

如需使用驅動程式核心模式 ETW API 的詳細資訊,請參閱 Windows 事件追蹤 (ETW)

如需使用 Windows Management Instrumentation (WMI) 延伸模組至 Windows 驅動程式模型的資訊, (WDM) 將軟體追蹤新增至任何驅動程式,請參閱 WMI 事件追蹤

注意 ETW 和 WPP 支援大部分類型的核心模式驅動程式和使用者模式應用程式。 不過,ETW 和 WPP 會使用不適用於特定類型驅動程式的類型,例如迷你埠驅動程式。 若要判斷是否支援特定驅動程式類型,請將基本 WPP 宏新增至驅動程式,例如 WPP_INIT_TRACINGWPP_CLEANUP。 如果程式碼未編譯,因為未定義所使用的類型,則 ETW 和 WPP 無法支援驅動程式類型。 

本節的內容

本節從軟體追蹤工具的問卷開始,討論工具的基礎概念,然後在 WDK 中包含軟體追蹤工具的檔。

本節涵蓋:

軟體追蹤工具問卷

追蹤工具概念

TraceView

Tracelog

Tracepdb

Tracefmt

開機期間追蹤

WPP 軟體追蹤

軟體追蹤常見問題

Windows 事件追蹤 (ETW)

核心模式效能監視

如需事件追蹤的概念資訊,請參閱Microsoft Windows SDK檔。