Поделиться через


CAB-файлы, содержащие файлы подкачки вместе с дампом памяти

Файл дампа памяти можно поместить в cab-файл вместе с файлами подкачки. Когда отладчик Windows анализирует файл дампа памяти, он может использовать файлы подкачки для представления памяти полного просмотра, включая память, которая была выброшена при создании файла дампа.

Предположим, CAB-файл с именем MyCab.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 можно перейти к панель управления > Система и безопасность >> Расширенные > параметры системы Запуск и восстановление. Вместо использования панель управления можно задать для этой записи реестра значение 1.

HKLM\СИСТЕМЫ\CurrentControlSet\Управления\CrashControl\CrashDumpEnabled

Начиная с Windows 8.1, можно настроить Windows для сохранения содержимого файлов подкачки при перезапуске Windows.

Чтобы указать, что файлы подкачки должны сохраняться при перезапуске Windows, задайте для этой записи реестра значение 1.

HKLM\СИСТЕМЫ\CurrentControlSet\Управления\CrashControl\SavePageFileContents