追蹤會話

追蹤會話追蹤提供者產生追蹤訊息的期間。 系統會維護一組緩衝區,讓追蹤會話儲存追蹤訊息,直到它們傳遞 (「排清」) 到 追蹤記錄追蹤取用者為止。

追蹤會話有三種基本類型:追蹤記錄會話、即時追蹤會話和緩衝追蹤會話。 單一追蹤會話可以是追蹤記錄會話、即時追蹤會話或兩者。 緩衝追蹤會話是獨佔的。

此外,還有私人追蹤會話和保留的追蹤會話,例如 NT 核心記錄器追蹤會話全域記錄器追蹤會話,可以當做記錄會話或即時會話執行。 您可以使用標準工具來控制這些會話,並顯示產生的追蹤訊息。

追蹤記錄會話

追蹤記錄會話中,追蹤訊息會從追蹤緩衝區寫入二進位格式的記錄檔。 這是追蹤會話的標準預設類型。

即時追蹤會話

即時追蹤會話中,追蹤訊息會直接傳遞至追蹤取用者,例如 TraceViewTracefmt,而不是或,除了傳送至記錄檔之外。

緩衝追蹤會話

緩衝追蹤會話中,追蹤訊息會保留在追蹤緩衝區中;它們不會寫入 追蹤記錄 ,或傳遞至 追蹤取用者。 緩衝區會像迴圈檔案一樣維護。 當它已滿時,最新的追蹤訊息會覆寫緩衝區中最舊的追蹤訊息。

只有 Windows Vista 和更新版本的 Windows 才支援緩衝追蹤會話。

雖然軟體追蹤通常會造成非常少的額外負荷,但緩衝追蹤會話具有所有追蹤會話類型的最低負荷。 您可以追蹤很長的時間,然後,如果發生有趣的狀況,您可以使用偵錯工具來檢查目前的緩衝區內容,或將目前的緩衝區內容儲存在追蹤記錄檔中。

若要查看追蹤緩衝區中的追蹤訊息,請使用 !wmitrace 特製化偵錯工具延伸模組。 如需此延伸模組的相關資訊,請參閱 Windows 的偵錯工具

若要將緩衝區內容排清到追蹤記錄檔,請使用tracelog -flush命令的-f參數。

若要啟動緩衝追蹤會話,請使用tracelog -start命令的-buffering參數。 如需詳細資訊,請參閱 Tracelog 命令語法

私人追蹤會話

私用追蹤會話是在使用者模式中執行的追蹤會話,做為其追蹤的使用者模式程式的一部分。 (在 kernel.) 私人追蹤會話中執行的標準追蹤會話也稱為 使用者模式追蹤會話進程追蹤會話

您可以一次執行多個私人追蹤會話,但每個進程只能執行一個私人追蹤會話。

您無法執行私人追蹤會話的即時追蹤。 追蹤訊息必須寫入記錄檔。

私人追蹤會話中使用的緩衝區一律可分頁。 您無法為這些緩衝區指定分頁或非分頁式記憶體。

您無法將追蹤訊息從私人追蹤會話傳送至偵錯工具。 WMI 追蹤延伸模組 (!wmitrace) 不支援私人追蹤會話。

如需私人事件追蹤會話的詳細資訊,請參閱Microsoft Windows SDK檔。