錄製堆積快照
Windows Performance Recorder (WPR) 可針對系統上的特定進程啟用堆積快照集。
這個堆積快照集與 堆積分析記錄不同,因為它會擷取堆積的快照集檢視。 例如,堆積快照集會將所有堆積配置資訊儲存在資料庫中。 執行 SingleSnapshot 命令時,會將配置資訊匯出至追蹤緩衝區。 快照集包含配置資訊,包括啟用快照集之後所建立的所有堆疊。
擷取堆積快照集追蹤
- 啟用堆積快照集追蹤 有兩種方式可以透過進程名稱和進程識別碼來啟用堆積快照集追蹤。
下列範例會使用進程名稱:
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
- 使用 wpr 或 wprui 開始追蹤
使用 wpr:
wpr -start heapsnapshot -filemode
如果使用 -name 選項來啟用堆積快照集,您必須在啟用設定之後啟動程式。
- 擷取堆積快照集
每次觸發快照集時,配置堆疊資料庫都會匯出至追蹤緩衝區。 單一快照集 (可以多次使用) ,例如:
wpr -singlesnapshot heap <pid for foo.exe>
定期快照集:
wpr -enableperiodicsnapshot heap <frequency in seconds> <pid for foo.exe>
- 使用 wprui 或 wpr 儲存追蹤。
wpr -stop heapsnapshot.etl
- 停用堆積快照集
您可以使用 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) 名稱選項 (。