使用 PerfView 收集 ETL 追蹤,並使用所有呼叫堆疊建立小型傾印

當您回報 Visual Studio 問題時,Microsoft 產品小組可能會要求 ETL 追蹤或小型傾印,以便收集其他資訊進行疑難排解。 使用下列步驟收集 ETL 追蹤,或為所有呼叫堆疊建立小型傾印。

利用 PerfView 收集 ETL 追蹤

PerfView 是建立 ETL (事件追蹤記錄檔) 檔案的工具,它是以適合為某些 Visual Studio 問題進行疑難排解的 Windows 事件追蹤 為基礎。 當您回報問題時,產品小組偶爾會要求您執行 PerfView 來收集其他資訊。

安裝 PerfView

GitHub 下載 PerfView。

執行 PerfView

  1. 在 Windows 檔案總管中以滑鼠右鍵按一下 PerfView.exe,然後以系統管理員身分選擇 [以系統管理員身分執行]
  2. 在 [收集] 功能表中,選擇 [收集]
  3. 勾選 [Zip]、[合併] 和 [ThreadTime]
  4. 循環 MB 提高到 1000。
  5. 如果想要收集多次,請變更目前的目錄,將 ETL 追蹤儲存至指定的資料夾和資料檔案。
  6. 若要開始記錄資料,請選擇 [開始收集] 按鈕。
  7. 若要停止記錄資料,請選擇 [停止收集] 按鈕。 PrefView.etl.zip 檔案會儲存在指定的目錄。

PerfView 只會儲存適合其緩衝區的最新資料。 因此,請在 Visual Studio 開始凍結或變慢後,嘗試停止收集。 遇到問題後請勿收集超過 30 秒。

建立包含所有呼叫堆疊的 Visual Studio 處理序小型傾印

在某些情況下,Microsoft 可能會要求執行中 Visual Studio 處理序的小型傾印,並附帶所有呼叫堆疊的資訊。 若要收集此資訊,請執行下列步驟:

建立小型傾印檔案

  1. 啟動新的 Visual Studio 執行個體。

  2. 在主功能表中,選擇 [偵錯]>[附加至處理序]

  3. 選擇 [選取] 並選取相關的 [受控] 和 [原生] 核取方塊,然後選擇 [確定]

    Screenshot showing the codes types selected in the Attach To Process dialog.

    Screenshot showing the codes types selected in the Attach To Process dialog.

  4. 從正在執行的程序清單中,選取其他要附加的 Visual Studio 執行個體,然後選擇 [附加]

  5. 在主功能表中,選擇 [偵錯]>[全部中斷]

  6. 在主功能表中,選擇 [偵錯]>[另存傾印]

從小型傾印中取得呼叫堆疊

  1. 在 Visual Studio 開啟傾印檔案。
  2. 移至 [工具]>[選項]>[偵錯]>[符號],並確定已勾選 [符號檔 (.pdb) 位置] 中的 [Microsoft 符號伺服器]
  3. 開啟 [命令] 視窗 ([檢視]>[其他視窗]>[命令視窗])。
  4. 鍵入 ‘~*k’。 此視窗會顯示所有執行緒的呼叫堆疊。
  5. 複製 [命令視窗] 中的所有文字,並儲存為文字檔案。
  6. 將 txt 檔案附加至 Bug。