閱讀英文

共用方式為


追蹤

追蹤使用 Windows 事件追蹤(ETW)。 若要利用 Windows Server 2008 R2 提供的追蹤工具,請安裝 Microsoft Windows SDK。

支援三個追蹤層級:

  • 詳細資訊(所有可用的追蹤)。
  • 信息(參考追蹤)。
  • 錯誤 (錯誤追蹤)。

追蹤下列事件:

  • 任何錯誤(Level=Error、Level=Info 或 Level=Verbose)。
  • API 的進入/結束(Level=Info 或 Level=Verbose)。
  • 任何 IO 的開始和完成 (Level=Info 或 Level=Verbose)
  • Exchanged SOAP 訊息 (Level=Verbose,可在 Windows 2003 SP1 和更新版本上使用)

產生和檢視 WWSAPI 追蹤

WWSAPI 會使用以 Windows Vista 和更新版本為基礎的指令清單事件。 因此,追蹤體驗會根據操作系統版本有一些差異。 您可以在所有支持的平臺上使用內建 ETW 工具,來產生 ETW 追蹤。 不過,以良好的格式檢視 ETW 追蹤需要 Windows XP SP2 和 Windows 2003 SP1 上的自定義工具。 根據操作系統版本,收集及檢視WSAPI ETW事件追蹤的方式很少。

在 事件檢視器 中啟用和檢視 WWSAPI 追蹤(適用於 Windows Vista 和更新版本)

  • 從命令行或執行功能表執行 eventvwr.msc。
  • 按下右側 [動作] 窗格上的檢視連結,然後啟用 [顯示分析和偵錯記錄] 選項。
  • 流覽至左窗格上的 [應用程式和服務記錄]\Microsoft\Windows\WebServices 提供者。
  • 以滑鼠右鍵按兩下追蹤提供者,然後選取 [啟用記錄]。
  • 執行您的案例。
  • 當您重新整理事件查看器頁面時,應該會開始看到WSAPI追蹤專案。

使用 Wstrace.bat 文稿啟用和檢視 WWSAPI 追蹤(適用於 XPSP2 和更新版本)

wstrace.bat批次處理檔提供方便的方式:

  • 建立追蹤記錄
  • 刪除追蹤記錄檔
  • 啟用和停用追蹤
  • 更新追蹤層級 (info/error/verbose)
  • 將追蹤記錄轉換為 CSV 檔案

批處理檔會針對所有命令使用logman.exe,但將記錄轉換成 CSV 檔案除外,這需要自定義工具(wstracedump.exe)。

使用追蹤命令

下列命令會建立使用資訊、錯誤或詳細資訊層級的記錄。 此命令需要更高的許可權。

wstrace.bat建立 [info | error | verbose]

下列命令會刪除記錄檔。 此命令需要更高的許可權。

wstrace.bat刪除

下列命令會啟用追蹤。 您必須先建立記錄。

開啟wstrace.bat

追蹤層級(資訊、錯誤或詳細資訊)可以修改如下:

wstrace.bat更新 [info | error | verbose]

若要傾印追蹤輸出,請使用下列命令:

wstrace.bat傾印 > temp.csv

事件會傾印到 CSV 檔案,直到按下 Ctrl-C 或停用追蹤為止。

追蹤檔案格式

wstrace.bat所建立的 CSV 檔案是簡單的逗號分隔變數文本檔。 這些檔案可能會在Excel、記事本等中開啟。

檔案的數據列如下所示:

  • TimeStamp - 記錄事件時的時間戳
  • ProcessID - 記錄事件之進程的 ULONG 識別符
  • ThreadID - 記錄事件的線程 ULONG 識別符
  • 事件 - 事件類型的列舉值可能是 (“api enter” |“api pending” |“api ExitSyncSuccess” |“api ExitSyncFailure” |“api ExitAsyncSuccess” |“api ExitAsyncFailure” |“io started” |“io completed” |“io failed” |“error” |“received message start” |“received message” |“received message stop” |「傳送訊息開始」 |「傳送訊息」|「傳送訊息停止」)
  • 作業 - 正在叫用之作業的名稱。 這通常會對應至所呼叫的 API。
  • 錯誤 - 選擇性 HRESULT 錯誤號碼
  • 資訊 - 關於事件的選擇性資訊

使用 ETW 工具收集 WWSAPI ETW 追蹤檔案(適用於 XPSP2 和更新版本)

啟用WSAPI的 ETW 追蹤

logman start wstrace -bs 64 -ft 1 -rt -p Microsoft-Windows-WebServices [flags [level]] [-o <EtlLogFileName>] -ets

建立並啟動 ETW 追蹤工作階段。 Logman.exe是所有支援平臺上可用的內建 ETW 工具。 請注意,您必須使用 Microsoft_Windows_WebServices 作為 XPSP2 和 W2K3 上的提供者名稱。 您可以執行 logman 查詢提供者,以查看已註冊的提供者清單。 Microsoft-Windows-WebServices (或 Microsoft_Windows_WebServices) 提供者應該列出,除非它未註冊。 提供者通常會在安裝期間註冊。 不過,也可以藉由執行 wevtutil.exe im <ManifestFileName (在 Windows Vista 和更新版本上) 或 mofcomp.exe <MofFileName>> (在 XPSP2 和 W2K3 上)手動註冊。

旗標可用來依其種類來篩選追蹤。 它可以是下列追蹤類型的 OR'd 值。 如果未提供,則會啟用所有追蹤類型。

  • 0x1 - API 進入/結束追蹤。
  • 0x2 - 錯誤追蹤。
  • 0x4 - IO 追蹤。
  • 0x8 - SOAP 訊息追蹤。
  • 0x10 - 二進位訊息追蹤。

層級可用來依其層級篩選追蹤。 它應該是下列其中一個值。 如果未提供,則會啟用所有追蹤層級。

  • 0x1 - 嚴重追蹤。
  • 0x2 - 錯誤追蹤。
  • 0x3 - 警告追蹤。
  • 0x4 - 參考追蹤。
  • 0x5 - 詳細信息追蹤。

EtlLogFileName 是要建立的 ETW 事件記錄檔路徑(使用 .etl 擴展名)。 如果未提供,ETW 會挑選稍後可查詢的隨機名稱。 此檔案不應位於使用者配置檔目錄上。 ETW 事件記錄檔 (.etl file) 是二進位格式。 它可由 ETW 應用程式取用,但不是人類可讀的格式。 下一個步驟說明如何檢視其內容。

執行您的案例

收集 ETW 事件記錄檔。

logman stop wstrace -ets

表示停止 ETW 追蹤會話。 這是當 ETW 停止記錄事件時。 ETW 事件記錄檔 (在 EtlLogFileName 參數中指定) 已準備好取用。 它可以在本機檢視(以下提供指示),或傳送至產品群組進行調查。

使用 ETW 工具的端端對端範例:

logman start wstrace -bs 64 -ft 1 -rt -p Microsoft-Windows-WebServices -o mytrace.etl -ets

回波。。 執行您的 scenario.。

logman stop wstrace -ets

tracerpt mytrace.etl -o mytrace.xml

wstrace.htm

回波。。 在開啟的頁面中使用 mytrace.xml 和 wstrace.xsl。

使用 wstracedump.exe 工具檢視 WWSAPI ETW 追蹤檔案追蹤 (適用於 Windows XP 和更新版本)

Wstracedump.exe是自定義開發的 ETW 取用者工具,可處理 WWSAPI ETW 追蹤檔案中的事件,併產生人類可讀取的輸出。 它可以從所有支援的平臺產生輸出。 如需詳細資訊,請參閱其使用方式 (wstracedump.exe -?)。

使用 ETW 工具檢視 WWSAPI ETW 追蹤檔案追蹤 (適用於 Windows Vista 和更新版本)

Tracerpt.exe是檢視 ETW 事件記錄檔內容,並可在所有支持的平臺上使用的工具。 它可用來從 ETW 事件記錄檔產生 CSV、EVTX 或 XML 傾印檔案。 不過,產生的輸出檔案只在 Windows Vista 和更新版本上具有人類可讀取的追蹤。 這些指示說明如何產生 XML 傾印檔案,並將其與 xsl 檔案搭配使用,以良好的格式顯示追蹤(xsl 檔案非常簡單,如果想要不同的格式,可能會改變)。

  • Run

    tracerpt <EtlLogFileName> -o <OutputXMLFileName>

    表示從二進位 ETL 檔案建立 XML 傾印(tracerpt.exe預設會以 XML 格式建立輸出檔案。執行 tracerpt -?若要查看其他可用的格式)。

  • 此時,您可以在 XML 檔案中看到追蹤資訊。 此外,您可以開啟wstrace.htm檔案,並使用 xml 傾印檔案和 wstrace.xsl 檔案,以較好的格式查看追蹤。 請注意,檔案必須位於本機計算機上,才能在 IE 上使用這個 html 檔案。

安全性

啟用追蹤時,系統管理員應該考慮其耗用額外的磁碟空間和計算能力。 除非追蹤設定具有合理的限制,否則惡意用戶端或應用程式可能會耗盡系統資源。 使用訊息追蹤功能時,攜帶敏感性資訊的訊息,例如認證、個人資訊等,可能會保存至磁碟,或由有權存取系統事件查看器的任何人檢視。 為了解決此問題,Windows 2003 和更新版本上的系統管理員使用者可以啟用追蹤。 Windows XP 上已停用訊息追蹤,用戶可以開啟追蹤。

下列列舉與追蹤搭配使用: