包含分頁檔案以及記憶體傾印的 CAB 檔案

記憶體傾印檔案可以放在封包 (CAB) 檔案以及分頁檔案中。 當 Windows 偵錯工具分析記憶體傾印檔案時,可以使用分頁檔案來呈現完整檢視記憶體,包括建立傾印檔案時已分頁的記憶體。

假設名為 MyCab.cab 的 CAB 檔案包含下列檔案:

Memory.dmp Cabmanifest.xml Pagefile.sys 也假設Cabmanifest.xml看起來像這樣:

<?xml version="1.0" encoding="UTF-8"?>
<WatsonPageFileManifest>
  <Pagefiles>
    <Pagefile Name="pagefile.sys"></Pagefile>
  </Pagefiles>
</WatsonPageFileManifest>

您可以輸入下列其中一個命令來開啟 CAB 檔案:

  • windbg /z MyCab.cab
  • kd /z MyCab.cab

偵錯工具會讀取Cabmanifest.xml,以取得要包含在偵錯會話中的分頁檔案清單。 在此範例中,只有一個分頁檔案。 偵錯工具會將分頁檔案轉換成目標資訊檔 (TIF) 檔案,可在偵錯會話期間使用。 因為偵錯工具可以存取 TIF,所以它可以顯示建立傾印檔案時分頁的記憶體。

不論 CAB 檔案中有多少分頁檔案,偵錯工具只會使用列在 Cabmanifest.xml 中的分頁檔案。 以下是列出三個分頁檔案的 CAB 資訊清單檔案範例。

<?xml version="1.0" encoding="UTF-8"?>
<WatsonPageFileManifest>
  <Pagefiles>
    <Pagefile Name="pagefile1.sys"></Pagefile>
    <Pagefile Name="pagefile2.sys"></Pagefile>
    <Pagefile Name="swapfile.sys"></Pagefile>
  </Pagefiles>
</WatsonPageFileManifest>

在Cabmanifest.xml中,分頁檔案的順序必須與 Windows 使用相同的順序列出。 也就是說,它們必須依出現在登錄中的順序列出。

您放入 CAB 檔案中的記憶體傾印檔案必須是完整的記憶體傾印。 您可以使用主控台設定 Windows,在當機時建立完整的記憶體傾印。 例如,在 Windows 8,您可以移至主控台 > System and Security > System > Advanced System Settings > Startup and Recovery。 除了使用 主控台,您可以將此登錄專案的值設定為 1。

HKLM\系統\CurrentControlSet\控制\CrashControl\CrashDumpEnabled

從 Windows 8.1 開始,您可以設定 Windows 在 Windows 重新開機時保留分頁檔案的內容。

若要指定您想要在 Windows 重新開機時儲存分頁檔案,請將此登錄專案的值設定為 1。

HKLM\系統\CurrentControlSet\控制\CrashControl\SavePageFileContents