錄製堆積快照

Windows Performance Recorder (WPR) 可針對系統上的特定進程啟用堆積快照集。

這個堆積快照集與 堆積分析記錄不同,因為它會擷取堆積的快照集檢視。 例如,堆積快照集會將所有堆積配置資訊儲存在資料庫中。 執行 SingleSnapshot 命令時,會將配置資訊匯出至追蹤緩衝區。 快照集包含配置資訊,包括啟用快照集之後所建立的所有堆疊。

擷取堆積快照集追蹤

  1. 啟用堆積快照集追蹤 有兩種方式可以透過進程名稱和進程識別碼來啟用堆積快照集追蹤。

下列範例會使用進程名稱:

 wpr -snapshotconfig heap -name heaptest.exe           //query snapshot config
 wpr -snapshotconfig heap -name heaptest.exe enable    //enable snapshot config

下列範例使用進程識別碼或 PID:

wpr -snapshotconfig heap -pid 8048 enable                //enable snapshot config
  1. 使用 wpr 或 wprui 開始追蹤

使用 wpr:

wpr -start heapsnapshot -filemode                          

如果使用 -name 選項來啟用堆積快照集,您必須在啟用設定之後啟動程式。

  1. 擷取堆積快照集

每次觸發快照集時,配置堆疊資料庫都會匯出至追蹤緩衝區。 單一快照集 (可以多次使用) ,例如:

 wpr -singlesnapshot heap <pid for foo.exe>

定期快照集:

 wpr -enableperiodicsnapshot heap <frequency in seconds> <pid for foo.exe>
  1. 使用 wprui 或 wpr 儲存追蹤。
wpr -stop heapsnapshot.etl
  1. 停用堆積快照集
    您可以使用 PID 或 Name 來停用堆積。 以下是這兩者的範例。

使用名稱:

wpr -snapshotconfig heap -name Win32Project1.exe disable

使用 PID:

 wpr -snapshotconfig heap -pid %_PID% disable

注意: 如果使用 -name 選項來啟用堆積快照集,它會在內部設定 IFEO 登錄,並套用至進程的所有新實例。 測試完成時,請使用 SnapshotConfig 選項加以停用,以避免不必要的堆積收集。 此外,如果進程和 OS 的 CPU 架構不符合 (例如,在 64 位 OS) 上執行 win32 應用程式,請使用 ifEO) 名稱選項 (。