事件追蹤的新功能

本節說明每個版本中新增至 Windows 事件追蹤的新功能。

Windows 10 (版本 1709)

ETW 現在可以選擇性地追蹤已啟用會話之所有提供者的二進位檔。 追蹤會回溯套用至呼叫前啟用會話的提供者,以及啟用會話的所有未來提供者。 您現在可以查詢作業系統所允許之目前設定的系統記錄器數目上限。 如需詳細資訊,請參閱TRACE_INFO_CLASS列舉的TraceProviderBinaryTrackingTraceMaxLoggersQuery值,以及擷取其他事件追蹤資料

ETW 現在可以根據事件名稱來篩選事件。 您也可以判斷哪些事件會擷取其堆疊。 如需詳細資訊,請參閱EVENT_FILTER_TYPE_EVENT_NAMEEVENT_FILTER_TYPE_STACKWALK_NAMEEVENT_FILTER_DESCRIPTOR結構的EVENT_FILTER_TYPE_STACKWALK_LEVEL_KW值,以及相關聯的EVENT_FILTER_EVENT_NAMEEVENT_FILTER_LEVEL_KW結構。

Windows 10

TraceLogging 建置在 ETW 上,並提供簡化的方式來檢測原生、.NET 和 WinRT 開發人員的程式碼。 TraceLogging 可讓您包含結構化資料與事件、相互關聯事件,而且不需要個別的檢測資訊清單 XML 檔案。

提供者特性 已新增為將更多資料附加至個別提供者註冊的方法。 它們可用於資訊清單型或 TraceLogging 提供者。 這目前包含將提供者名稱和/或提供者群組新增至個別提供者註冊的支援。 提供者群組是一項新功能,可讓多個 ETW 提供者由其所屬的群組進行匯總控制。

定期擷取狀態是允許定期將擷取狀態通知傳送給提供者的方式。 啟用此功能時,通知只會傳送至先前啟用至目前會話的提供者註冊。 如果通知有任何) ,每個提供者都可以定義自己的回應 (。 如需實作詳細資料,請參閱 TRACE_PERIODIC_CAPTURE_STATE_INFO

Windows 8.1 與 Windows Server 2012 R2

下列功能已新增至 Windows 8.1 和 Windows Server 2012 R2 上的事件追蹤。

支援使用 EnableTraceEx2 函式所使用的事件承載、範圍和堆疊逐步解說篩選的函式,以及 ENABLE_TRACE_PARAMETERSEVENT_FILTER_DESCRIPTOR 結構,以篩選記錄器會話中的特定條件。 如需詳細資訊,請參閱

此外,請參閱 EnableTraceEx2 函式的廣泛修訂檔,以及這些功能所使用的 ENABLE_TRACE_PARAMETERSEVENT_FILTER_DESCRIPTOR 結構。

結構,定義事件承載篩選述詞,描述如何篩選新 TdhCreatePayloadFilter 函式所使用的追蹤會話中的單一欄位,以及事件識別碼和堆疊逐步解說篩選所使用的新結構。 如需詳細資訊,請參閱

擷取提供者資訊清單中事件相關資訊的函式。 如需詳細資訊,請參閱

結構,定義新 TdhEnumerateManifestProviderEvents 函式所使用的提供者資訊清單中的事件陣列。 如需詳細資訊,請參閱

Windows 8 和 Windows Server 2012

下列功能已新增至 Windows 8 和 Windows Server 2012 上的事件追蹤。

在註冊物件上執行作業、提供事件承載剖析、提供追蹤提供者流覽、查詢事件追蹤會話設定,以及處理重新記錄追蹤檔案的函式。 如需詳細資訊,請參閱

提供追蹤程式相關資訊的介面,以及記錄事件的時間、存取特定事件的資料,以及允許操作事件追蹤記錄檔 (ETL) 檔案的重新記錄器功能。 如需詳細資訊,請參閱

新函式和介面所使用的其他列舉。 如需詳細資訊,請參閱

Windows 7 與 Windows Server 2008 R2

此版本中已新增下列功能:

  • 提供者在資訊清單中定義篩選的能力。 在 Windows Vista 中,控制器可以將篩選資料傳遞至提供者。 不過,未在資訊清單中定義篩選資料的版面配置,因此提供者必須使用其他方法將篩選定義提供給控制器。 在此版本中,提供者可以在資訊清單中定義篩選定義, (請參閱ProviderType複雜類型) 的filters屬性。 控制器接著可以使用 TdhEnumerateProviderFilters 函式來判斷篩選定義。 使用篩選的提供者應該使用 EventWriteEx 函 式來寫入事件。
  • 能夠使用單一緩衝區來收集在多個處理器上產生的事件。 使用單一緩衝區可消除在多處理器電腦上出現順序錯亂的事件。 如需詳細資訊,請參閱 EVENT_TRACE_NO_PER_PROCESSOR_BUFFERING 記錄模式。 根據預設,ETW 會使用每個處理器的緩衝區。
  • 擷取事件的堆疊追蹤的能力。 若要啟用核心事件的堆疊追蹤,請參閱 TraceSetInformation 函式 。 若要啟用使用者事件的堆疊追蹤,請參閱 ENABLE_TRACE_PARAMETERSEnableProperty 成員的 EVENT_ENABLE_PROPERTY_STACK_TRACE旗標。
  • 使用EVENT_TRACE_PRI加值稅E_LOGGER_MODE記錄模式指定EVENT_TRACE_BUFFERING_MODEEVENT_TRACE_FILE_MODE_NEWFILE記錄模式的功能,請參閱記錄 (模式常數) 。
  • 同步啟用提供者的能力。 根據預設,會以非同步方式啟用提供者。 若要同步啟用提供者,請設定EnableTraceEx2Timeout參數。
  • 控制器要求提供者記錄其狀態的能力。 如需詳細資訊,請參閱EnableTraceEx2的 ControlCode參數EVENT_CONTROL_CODE_CAPTURE_STATE旗標。
  • 讓取用者能夠使用 TdhFormatProperty 函式 來格式化事件資料。
  • 在不包含提供者的電腦上解碼資訊清單事件的能力。 如需詳細資訊,請參閱 TdhLoadManifest 函式。

此版本中新增了下列函式:

此版本中新增了下列結構:

此版本中已新增下列列舉:

此版本中已新增下列 MOF 類別: