如何? 將追蹤訊息傳送至核心調試程式?
您可以使用數種方法,將追蹤訊息重新導向至內核模式調試程式。 這裡將討論一些。
您可以將追蹤訊息重新導向至 KD 或 Windbg,無論連結者。 調試程式必須透過 COM 埠與偵錯 (null 數據機) 纜線,或透過具有 IEEE 1394 纜線的 1394 (“firewire”) 埠連接。 您無法將追蹤訊息重新導向至其他核心調試程式,例如 NTSD。
若要在調試程式中顯示追蹤訊息,wmitrace.dll 和 traceprt.dll 必須位於主電腦上的調試程式的搜尋路徑中。 這些 DLL 包含在 Windows 的偵錯工具 中,若要讓調試程式尋找 追蹤訊息格式, (.tmf) 追蹤訊息的檔案,TMF 檔案必須位於主電腦上的調試程式搜尋路徑中。 若要設定調試程式的搜尋路徑,請使用 !wmitrace.searchpath 特製化調試程式延伸模組,或設定 %TRACE_FORMAT_SEARCH_PATH% 環境變數的值。
如需詳細資訊,請在偵錯 Windows 工具中搜尋 !wmitrace。
Logman
使用下列 Logman 命令,將追蹤訊息重新導向至內核模式調試程式:
logman start TraceSession -ets -mode KernelFilter -bs 3
-ets 參數會啟動不受效能記錄和警示服務控制的事件追蹤會話。 -mode 參數會啟動進階選項,包括 KernelFilter 選項。
-bs 參數會將追蹤會話的緩衝區大小設定為 3 KB,這是調試程式的最大緩衝區大小。 如果您省略此參數,調試程式會話將無法正常運作。
Logman 包含在 Windows XP 和更新版本的 Windows 中。
Tracelog
使用下列 Tracelog 命令將追蹤訊息重新導向至內核模式調試程式:
tracelog -start MyTrace -guid MyProvider.ctl -rt -kd
-guid 參數會指定追蹤提供者。 -rt 參數會指定實時追蹤會話。 -kd 參數會將追蹤訊息重新導向至核心調試程式,並將緩衝區大小上限設定為 3 KB,調試程式的最大大小。
如需範例,請參閱 範例 16:在調試程式中檢視追蹤訊息。
Tracelog 位於 WDK 的工具\trace\<Platform> 子目錄中,其中 <Platform> 是 i386、amd64 或 ia64。
TraceView
TraceView 具有圖形用戶介面。
您可以在建立追蹤會話時,將追蹤訊息重新導向至核心調試程式。 在 [ 記錄會話選項] 頁面上,按兩下 [ 進階記錄會話選項],按兩下 [ 記錄會話參數選項 ] 索引標籤,然後將 Windbg 選項的值變更為 TRUE。 追蹤工作階段執行時,您無法變更此選項。
TraceView 位於 WDK 的工具\trace\<Platform> 子目錄中,其中 <Platform> 是 i386、amd64 或 ia64。