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


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 можно перейти к системе > управления и системе безопасности > Advanced System > Settings > Startup and Recovery. В качестве альтернативы использованию панели управления можно задать для этой записи реестра значение 1.

HKLM\СИСТЕМА\CurrentControlSet\Контроль\CrashControl\CrashDumpEnabled

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

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

HKLM\СИСТЕМА\CurrentControlSet\Контроль\CrashControl\SavePageFileContents