軟體追蹤的工具
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_TRACING 和 WPP_CLEANUP。 如果程式碼未編譯,因為未定義所使用的類型,則 ETW 和 WPP 無法支援驅動程式類型。
本節的內容
本節從軟體追蹤工具的問卷開始,討論工具的基礎概念,然後在 WDK 中包含軟體追蹤工具的檔。
本節涵蓋:
如需事件追蹤的概念資訊,請參閱Microsoft Windows SDK檔。