關於驅動程式的事件追蹤

事件追蹤的定義

Windows 事件追蹤 (ETW) 是一種有效率且有效的機制,可追蹤和記錄使用者模式應用程式和內核模式驅動程式所引發的事件。 ETW 包含三個元件:

術語 說明

供應商

引發事件追蹤檢測的應用程式或元件。

控制器

啟動、停止及設定事件追蹤會話的應用程式。

消費者

以即時方式或從檔案接收事件追蹤會話的應用程式。

ETW Kernel-Mode API 介面

ETW 應用程式開發介面 (API) 提供一組函式,可供內核模式元件和驅動程式使用。 WMI 事件追蹤 和 WPP 軟體追蹤 都使用 ETW。 驅動程式開發人員可以使用這些函式,將驅動程式註冊為 ETW 提供者。 ETW 提供者可以引發事件,並將其發佈至 Windows 事件記錄檔,也可以將其事件寫入 ETW 工作話,以寫入追蹤檔案或傳遞至即時取用者。 事件是描述系統中有趣發生次數的實體,是由 ETW 提供者所決定的一組屬性所定義。

ETW 是在 Windows作系統中實作,可為開發人員提供快速、可靠且多用途的事件追蹤功能集,對效能的影響很小。 您可以動態啟用或停用追蹤,而不需重新啟動電腦,或重載您的應用程式或驅動程式。 不同於您在開發期間新增至程式代碼的偵錯語句,您可以在生產程式代碼中使用 ETW。

使用事件追蹤的時機

如果您想要發佈應用程式感興趣的系統管理、運作和分析事件,以及在開發期間可能需要的詳細追蹤,請使用 ETW 核心模式 API。 如果您主要想要收集追蹤數據以供開發和偵錯之用,請使用WPP軟體追蹤。