Где находится дамп памяти windows 7
Перейти к содержимому

Где находится дамп памяти windows 7

  • автор:

Анализ дампа памяти в Windows при BSOD с помощью WinDBG

date12.07.2019
useritpro
directoryWindows 10, Windows Server 2016
commentsкомментариев 9

В момент критического сбоя операционная система Windows прерывает работу и показывает синий экран смерти (BSOD). Содержимое оперативной памяти и вся информация о возникшей ошибке записывается в файл подкачки. При следующей загрузке Windows создается аварийный дамп c отладочной информацией на основе сохраненных данных. В системном журнале событий создается запись о критической ошибке.

Типы аварийных дампов памяти Windows

На примере актуальной операционной системы Windows 10 (Windows Server 2016) рассмотрим основные типы дампов памяти, которые может создавать система:

  • Мини дамп памяти (Small memory dump) (256 КБ). Этот тип файла включает минимальный объем информации. Он содержит только сообщение об ошибке BSOD, информацию о драйверах, процессах, которые были активны в момент сбоя, а также какой процесс или поток ядра вызвал сбой.
  • Дамп памяти ядра (Kernel memory dump). Как правило, небольшой по размеру — одна треть объема физической памяти. Дамп памяти ядра является более подробным, чем мини дамп. Он содержит информацию о драйверах и программах в режиме ядра, включает память, выделенную ядру Windows и аппаратному уровню абстракции (HAL), а также память, выделенную драйверам и другим программам в режиме ядра.
  • Полный дамп памяти (Complete memory dump). Самый большой по объему и требует памяти, равной оперативной памяти вашей системы плюс 1MB, необходимый Windows для создания этого файла.
  • Автоматический дамп памяти (Automatic memory dump). Соответствует дампу памяти ядра с точки зрения информации. Отличается только тем, сколько места он использует для создания файла дампа. Этот тип файлов не существовал в Windows 7. Он был добавлен в Windows 8.
  • Активный дамп памяти (Active memory dump). Этот тип отсеивает элементы, которые не могут определить причину сбоя системы. Это было добавлено в Windows 10 и особенно полезно, если вы используете виртуальную машину, или если ваша система является хостом Hyper-V.

Как включить создание дампа памяти в Windows?

С помощью Win+Pause откройте окно с параметрами системы, выберите «Дополнительные параметры системы» (Advanced system settings). Во вкладке «Дополнительно» (Advanced), раздел «Загрузка и восстановление» (Startup and Recovery) нажмите кнопку «Параметры» (Settings). В открывшемся окне настройте действия при отказе системы. Поставьте галку в чек-боксе «Записать события в системный журнал» (Write an event to the system log), выберите тип дампа, который должен создаваться при сбое системы. Если в чек-боксе «Заменять существующий файл дампа» (Overwrite any existing file) поставить галку, то файл будет перезаписываться при каждом сбое. Лучше эту галку снять, тогда у вас будет больше информации для анализа. Отключите также автоматическую перезагрузку системы (Automatically restart).

В большинстве случаев для анализа причины BSOD вам будет достаточно малого дампа памяти.

настройка minidump в windows 10

Теперь при возникновении BSOD вы сможете проанализировать файл дампа и найти причину сбоев. Мини дамп по умолчанию сохраняется в папке %systemroot%\minidump. Для анализа файла дампа рекомендую воспользоваться программой WinDBG (Microsoft Kernel Debugger).

Установка WinDBG в Windows

Утилита WinDBG входит в «Пакет SDK для Windows 10» (Windows 10 SDK). Скачать можно здесь.

Файл называется winsdksetup.exe, размер 1,3 МБ.

Запустите установку и выберите, что именно нужно сделать – установить пакет на этот компьютер или загрузить для установки на другие компьютеры. Установим пакет на локальный компьютер.

установка Windows 10 SDK

Можете установить весь пакет, но для установки только инструмента отладки выберите Debugging Tools for Windows.

установка Debugging Tools for Windows

После установки ярлыки WinDBG можно найти в стартовом меню.

Настройка ассоциации .dmp файлов с WinDBG

Для того, чтобы открывать файлы дампов простым кликом, сопоставьте расширение .dmp с утилитой WinDBG.

  1. Откройте командную строку от имени администратора и выполните команды для 64-разрядной системы: cd C:\Program Files (x86)\Windows Kits\10\Debuggers\x64
    windbg.exe –IA
    для 32-разрядной системы:
    C:\Program Files (x86)\Windows Kits\10\Debuggers\x86
    windbg.exe –IA
  2. В результате типы файлов: .DMP, .HDMP, .MDMP, .KDMP, .WEW – будут сопоставлены с WinDBG.

windbg ассоциация .dmp файлов

Настройка сервера отладочных символов в WinDBG

Отладочные символы (debug-символы или symbol files) – это блоки данных, генерируемые в процессе компиляции программы совместно с исполняемым файлом. В таких блоках данных содержится информация о именах переменных, вызываемых функциях, библиотеках и т.д. Эти данные не нужны при выполнении программы, но полезные при ее отладке. Компоненты Microsoft компилируются с символами, распространяемыми через Microsoft Symbol Server.

Настройте WinDBG на использование Microsoft Symbol Server:

  • Откройте WinDBG;
  • Перейдите в меню File –> Symbol File Path;
  • Пропишите строку, содержащую URL для загрузки символов отладки с сайта Microsoft и папку для сохранения кэша: SRV*E:\Sym_WinDBG*http://msdl.microsoft.com/download/symbols В примере кэш загружается в папку E:\Sym_WinDBG, можете указать любую.
  • Не забывайте сохранить изменения в меню File –> Save WorkSpace;

WinDBG произведет поиск символов в локальной папке и, если не обнаружит в ней необходимых символов, то самостоятельно загрузит символы с указанного сайта. Если вы хотите добавить собственную папку с символами, то можно сделать это так:

Если подключение к интернету отсутствует, то загрузите предварительно пакет символов с ресурса Windows Symbol Packages.

Анализ аварийного дампа памяти в WinDBG

Отладчик WinDBG открывает файл дампа и загружает необходимые символы для отладки из локальной папки или из интернета. Во время этого процесса вы не можете использовать WinDBG. Внизу окна (в командной строке отладчика) появляется надпись Debugee not connected.

Команды вводятся в командную строку, расположенную внизу окна.

windbg - анализ дампа памяти

Самое главное, на что нужно обратить внимание – это код ошибки, который всегда указывается в шестнадцатеричном значении и имеет вид 0xXXXXXXXX (указываются в одном из вариантов — STOP: 0x0000007B, 02.07.2019 0008F, 0x8F). В нашем примере код ошибки 0х139.

Отладчик предлагает выполнить команду !analyze -v, достаточно навести указатель мыши на ссылку и кликнуть. Для чего нужна эта команда?

  • Она выполняет предварительный анализ дампа памяти и предоставляет подробную информацию для начала анализа.
  • Эта команда отобразит STOP-код и символическое имя ошибки.
  • Она показывает стек вызовов команд, которые привели к аварийному завершению.
  • Кроме того, здесь отображаются неисправности IP-адреса, процессов и регистров.
  • Команда может предоставить готовые рекомендации по решению проблемы.

Основные моменты, на которые вы должны обратить внимание при анализе после выполнения команды !analyze –v (листинг неполный).

*****************************************************************************
* *
* Bugcheck Analysis *
* *
*****************************************************************************
Символическое имя STOP-ошибки (BugCheck)
KERNEL_SECURITY_CHECK_FAILURE (139)
Описание ошибки (Компонент ядра повредил критическую структуру данных. Это повреждение потенциально может позволить злоумышленнику получить контроль над этой машиной):

A kernel component has corrupted a critical data structure. The corruption could potentially allow a malicious user to gain control of this machine.
Аргументы ошибки:

Arguments:
Arg1: 0000000000000003, A LIST_ENTRY has been corrupted (i.e. double remove).
Arg2: ffffd0003a20d5d0, Address of the trap frame for the exception that caused the bugcheck
Arg3: ffffd0003a20d528, Address of the exception record for the exception that caused the bugcheck
Arg4: 0000000000000000, Reserved
Debugging Details:
——————

Счетчик показывает сколько раз система упала с аналогичной ошибкой:

Основная категория текущего сбоя:

Код STOP-ошибки в сокращенном формате:

Процесс, во время исполнения которого произошел сбой (не обязательно причина ошибки, просто в момент сбоя в памяти выполнялся этот процесс):

Расшифровка кода ошибки: В этом приложении система обнаружила переполнение буфера стека, что может позволить злоумышленнику получить контроль над этим приложением.

ERROR_CODE: (NTSTATUS) 0xc0000409 — The system detected an overrun of a stack-based buffer in this application. This overrun could potentially allow a malicious user to gain control of this application.
EXCEPTION_CODE: (NTSTATUS) 0xc0000409 — The system detected an overrun of a stack-based buffer in this application. This overrun could potentially allow a malicious user to gain control of this application.

Последний вызов в стеке:

LAST_CONTROL_TRANSFER: from fffff8040117d6a9 to fffff8040116b0a0

Стек вызовов в момент сбоя:

STACK_TEXT:
ffffd000`3a20d2a8 fffff804`0117d6a9 : 00000000`00000139 00000000`00000003 ffffd000`3a20d5d0 ffffd000`3a20d528 : nt!KeBugCheckEx
ffffd000`3a20d2b0 fffff804`0117da50 : ffffe000`f3ab9080 ffffe000`fc37e001 ffffd000`3a20d5d0 fffff804`0116e2a2 : nt!KiBugCheckDispatch+0x69
ffffd000`3a20d3f0 fffff804`0117c150 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiFastFailDispatch+0xd0
ffffd000`3a20d5d0 fffff804`01199482 : ffffc000`701ba270 ffffc000`00000001 000000ea`73f68040 fffff804`000006f9 : nt!KiRaiseSecurityCheckFailure+0x3d0
ffffd000`3a20d760 fffff804`014a455d : 00000000`00000001 ffffd000`3a20d941 ffffe000`fcacb000 ffffd000`3a20d951 : nt! ?? ::FNODOBFM::`string’+0x17252
ffffd000`3a20d8c0 fffff804`013a34ac : 00000000`00000004 00000000`00000000 ffffd000`3a20d9d8 ffffe001`0a34c600 : nt!IopSynchronousServiceTail+0x379
ffffd000`3a20d990 fffff804`0117d313 : ffffffff`fffffffe 00000000`00000000 00000000`00000000 000000eb`a0cf1380 : nt!NtWriteFile+0x694
ffffd000`3a20da90 00007ffb`475307da : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiSystemServiceCopyEnd+0x13
000000ee`f25ed2b8 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : 0x00007ffb`475307da

Участок кода, где возникла ошибка:

FOLLOWUP_IP:
nt!KiFastFailDispatch+d0
fffff804`0117da50 c644242000 mov byte ptr [rsp+20h],0
FAULT_INSTR_CODE: 202444c6
SYMBOL_STACK_INDEX: 2
SYMBOL_NAME: nt!KiFastFailDispatch+d0
FOLLOWUP_NAME: MachineOwner

Имя модуля в таблице объектов ядра. Если анализатору удалось обнаружить проблемный драйвер, имя отображается в полях MODULE_NAME и IMAGE_NAME:

MODULE_NAME: nt
IMAGE_NAME: ntkrnlmp.exe

Если кликнете по ссылке модуля (nt), то увидите подробную информацию о пути и других свойствах модуля. Находите указанный файл, и изучаете его свойства.

1: kd> lmvm nt
Browse full module list
Loaded symbol image file: ntkrnlmp.exe
Mapped memory image file: C:\ProgramData\dbg\sym\ntoskrnl.exe\5A9A2147787000\ntoskrnl.exe
Image path: ntkrnlmp.exe
Image name: ntkrnlmp.exe
InternalName: ntkrnlmp.exe
OriginalFilename: ntkrnlmp.exe
ProductVersion: 6.3.9600.18946
FileVersion: 6.3.9600.18946 (winblue_ltsb_escrow.180302-1800)

windbg - lvm nt

В приведенном примере анализ указал на файл ядра ntkrnlmp.exe. Когда анализ дампа памяти указывает на системный драйвер (например, win32k.sys) или файл ядра (как в нашем примере ntkrnlmp.exe), вероятнее всего данный файл не является причиной проблемы. Очень часто оказывается, что проблема кроется в драйвере устройства, настройках BIOS или в неисправности оборудования.

Если вы увидели, что BSOD возник из-за стороннего драйвера, его имя будет указано в значениях MODULE_NAME и IMAGE_NAME.

Image path: \SystemRoot\system32\drivers\cmudaxp.sys
Image name: cmudaxp.sys

Откройте свойсва файла драйвера и проверьте его версию. В большинстве случаев проблема с драйверами решается их обнвовлением.

Дамп памяти Windows 7

Что такое дамп памяти Windows 7 и какие существуют его виды? Зачем он системе и нужно ли его изменять? Как просмотреть и изменить его параметры?

Дамп памяти Windows 7

Дамп памяти — это содержимое процесса, ядра или целой операционной системы. Обычно он сохраняется, когда процесс прерывается из-за какой-то ошибки. Также дамп можно сохранить вручную, используя специальную программу.

Дамп памяти может содержать:

  • значения регистров процессора;
  • контекст ядра для процесса (EPROCESS) и для потока (ETHREAD);
  • содержимое стека;
  • список рабочих драйверов.

Это своеобразный «черный ящик» системы. Когда она рушится, разработчик может найти в нем причины критической ошибки. На примере Windows 7, когда вы видите «синий экран смерти» (BSOD), система в этот момент быстро записывает все данные, которые в идеале должны быть отправлены разработчикам для решения проблемы.

Есть три вида дампа, которые может писать система:

  • малый — записывает минимальный объем самой важной информации о проблеме. Для него необходимо выделить 2 Мб файла подкачки;
  • дамп ядра — записывает память выделенную для ядра, от чего запись данных в журнал очень быстрая. Он не включает в себя данные пользовательских программ – только память ядра, драйверов режима ядра и память аппаратно-зависимого уровня. Чаще всего именно такой дамп установлен. Размер файла подкачки должен равняться одной трети оперативной памяти компьютера. Т. е. если ОЗУ 2 Гб, то файл подкачки – как минимум 700 Мб;
  • полный — во время критической ошибки записывает все содержимое оперативной памяти. Файл подкачки должен равняться объему ОЗУ, плюс 1 Гб сверху.

Если не планируете посылать данные об ошибке Microsoft, можете отключить дамп полностью. Если дамп все-таки выставить, на быстродействии системы это никак не скажется, так как запись происходит только после крушения системы. Другими словами, запись занимает несколько секунд, когда система «вылетает» в BSOD, более известный как «синий экран смерти».

Настройка дампа памяти

Если вы все же решили изменить дамп или просто ознакомится с его параметрами, это сделать довольно просто. Заходите в «Панель управления/Система и безопасность/Система/Дополнительные параметры системы».

Откроется окно «Свойства системы», там нас интересует вкладка «Дополнительно». В ней есть пункт «Загрузка и восстановление», возле него кнопка «Параметры».

Настройка дампа памяти

Нажимаете «Настройки» и видите окно параметров дампа: его тип, название, опция замены старого дампа новым и пр.

Дамп памяти Windows и Синий Экран Смерти

Дамп памяти WindowsПродолжу расскажу о синем экране смерти, начатый в прошлой заметке.

Итак, если компьютер внезапно перезагружается или зависает, а cиний экран смерти не появляется или появляется на долю секунды, то все равно информацию о причинах сбоя можно восстановить.

Дело в том, что операционная система в момент сбоя сохраняет содержимое оперативной памяти в так называемый дамп-файл (имеет расширение .dmp). В дальнейшем файл дампа можно будет проанализировать и получить туже самую информацию, что и на синем экране и даже чуть больше.

Но создание дампов может быть отключено в системе, поэтому стоит убедиться, что, во-первых, система создает дампы при сбоях, а, во-вторых, стоит узнать место на диске, куда они сохраняются.

Для этого нужно зайти в раздел Система.

В Windows 10 это можно сделать через поиск, а в предыдущих версиях операционной системы через Панель управления.

Окно Система Windows

Далее переходим в Дополнительные параметры, а затем на вкладке Дополнительно переходим в Параметры раздела Загрузка и восстановление.

Настройка дампа памяти в Windows

Здесь должна быть включена запись событий в системный журнал, ну а чтобы компьютер автоматически не перезагружался и отображал нам содержимое синего экрана смерти, нужно отменить автоматическую перезагрузку, если она была включена.

Также здесь отображается путь к дампам — мы видим, что дамп сохраняется в папку %SystemRoot% — это обозначение папки Windows.

Также здесь можно выбрать «малый дамп памяти», которого будет вполне достаточно для поиска кодов ошибки.

Итак, система вылетела в синий экран смерти, после чего был создан дамп памяти.

Для анализа дампов существуют специальные программы и одной из самых популярных является утилита BlueScreenView.

Программа очень проста в использовании и не требует установки — скачиваем с официального сайта и разархивируем. При этом с официального сайта можно скачать файл, с помощью которого можно русифицировать программу. Для этого данный файл нужно будет поместить в папку с разархивированной программой.

Если после запуска в программе не отображаются дампы, хотя система «срывалась» в синий экран смерти, то стоит зайти в настройки программы и убедиться, что путь к дампам памяти указан верно, то есть он должен быть таким же, как и в настройках системы.

настройки утилиты Blue Screen View

После этого нужно обновить информацию в окне программы и все созданные в системе дампы отобразятся. Если дампов несколько, то, ориентируемся по дате сбоя. Выбираем нужный дамп, а затем появится подробная информация по нему.

Здесь выводится название ошибки, ее STOP-код с параметрами и если причиной стал драйвер, то в соответствующем поле мы обнаружим его название.

Анализ дампа памяти с помощью BlueScreenView

Также в нижней части окна программы розовым будут выделяться файлы, которые также могли стать причиной сбоя. Придется по порядку разбираться с каждым из них. Алгоритм здесь аналогичен рассмотренному в прошлой заметке — ищем решение в интернете, а в качестве поискового ключа используем название файла или код ошибки.

При этом не обязательно вручную вводить данные в поисковик. Если щелкнуть правой кнопкой мыши по строке дампа, то из контекстного меню можно выбрать пункт, который позволит найти в Гугле описание именно этой проблемы.

Поиск причин BSoD в Гугл через BlueScreenView

Можно выбрать поиск в Гугл по коду ошибки, по коду ошибки и названию драйвера или по коду ошибки и параметру.

Также с помощью этой утилиты можно быстро найти местоположение проблемного файла на диске.

Поиск проблемного файла при появлении BSoD

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

Ну и стоит знать, что чистильщики вроде Ccleaner удаляют дампы памяти, поэтому если вы пользуетесь подобными программами, то на время выявления причины появления синего экрана смерти, стоит воздержаться от их использования.

И последний вопрос, на который я отвечу в рамках этой заметки — что делать, если после появления синего экрана компьютер более не запускается? То есть компьютер зависает или постоянно перегружается, а значит нет возможности проанализировать дамп памяти.

Ответ логичен и прост — нужно создать загрузочную флешку, с помощью которой «вытянуть» файл дампа с жесткого диска и проанализировать его на другом компьютере. Для этого загружаемся с флешки и на жестком диске компьютера в папке Windows или в подпапке minidump находим файл дампа, который копируем на флешку. Затем на другом компьютере с помощью утилиты BlueScreenView анализируем дамп, как было рассказано в этой заметке.

Где хранятся dump файлы windows 7. Использование дампа памяти для диагностики сбоев

Здравствуйте друзья, сегодня разберем интересную тему, которая поможет вам в будущем при появлении синего экрана смерти (BSoD).

Как и мне, так и многим другим пользователям приходилось наблюдать появление экрана с синим фоном, на котором что-то написано (белым по синему). Данное явление говорит о критической неполадке, как в программном обеспечении, например, конфликт драйверов, так и в физической неисправности какого-то компонента компьютера.

Недавно у меня снова появился голубой экран в windows 10, но я быстро от него избавился и скоро об этом вам расскажу.

Хотите смотреть фильмы онлайн в хорошем качестве? Тогда переходите по ссылке.

Итак, большинство пользователей не знают, что BSoD можно анализировать, чтобы впоследствии понять проблемы критической ошибки. Для таких случаев windows создает на диске специальные файлы – дампы памяти, их то мы и будем анализировать.

Есть три типа дампа памяти:

Полный дамп памяти – эта функция позволяет полностью сохранить содержимое оперативной памяти. Он редко используется, так как представьте, что у вас 32 Гб оперативной памяти, при полном дампе весь этот объем сохранится на диске.

Дамп ядра – сохраняет информацию о режиме ядра.

Малый дамп памяти – сохраняет небольшой объем информации о ошибках и загруженных компонентов, которые были на момент появления неисправности системы. Мы будем использовать именно этот тип дампа, потому что она даст нам достаточное количество сведений о BSoD.

Расположение, как малого, так и полного дампа отличается, например, малый дамп находится по следующему пути: %systemroot%minidump.

Полный дамп находится здесь: %systemroot%.

Для анализа дампов памяти существуют различные программы, но мы воспользуемся двумя. Первая — Microsoft Kernel Debuggers, как понятно из названия утилита от Microsoft. Скачать ее можно с официального сайта. Вторая программа – BlueScreenView, бесплатная программка, скачиваем отсюда.

Анализ дампа памяти с помощью Microsoft Kernel Debuggers

Для разных версий систем нужно скачивать свой тип утилиты. Например, для 64-х разрядной операционной системы, нужна 64-битовая программа, для 32-х разрядной – 32-битная версия.

Это еще не все, вам нужно скачать и установить пакет отладочных символов, нужные для программы. Называется Debugging Symbols. Каждая версия данного пакета тоже скачивается под определённою ОС, для начала узнайте какая у вас система, а потом скачивайте. Дабы вам не искать где попало эти символы, вот ссылка на скачивание. Установка, желательно, должна производиться по этому пути: %systemroot%symbols.

Теперь можно запускать наш отладчик, окно которого будет выглядеть вот так:

Прежде чем проанализировать дампы мы кое-что настроим в утилите. Во-первых, нужно указать программе, куда мы установили отладочные символы. Для этого нажимаем на кнопку «File» и выбираем пункт «Symbol File Path», потом указываем путь до символов.

Программа позволяет извлекать символы прямо из сети, поэтому вам даже не придется их скачивать (извините те, кто уже скачал). Они буду браться с сервером Microsoft, поэтому все безопасно. Итак, вам нужно снова открыть «File», потом «Symbol File Path» и ввести следующую команду:

Таким образом мы указали программе, что символы должны браться из сети. Как только мы это сделали нажимаем «File» и выбираем пункт «Save Workspace», потом жмем ОК.

Вот и все. Мы настроили программу на нужный лад, теперь приступаем к анализу дампов памяти. В программе нажимаем кнопочку «File», потом «Open Crash Dump» и выбираем нужный файл.

Kernel Debuggers начнет анализ файла и после этого выведет результат о причине ошибки.

В появившемся окне можно вводить команды. Если мы введем!analyze –v, то получим больше информации.

Вот и все с этой программой. Чтобы остановить работу отладчика, выберите «Debug» и пункт «Stop Debugging».

Анализ дампа памяти с помощью BlueScreenView

Для анализа различных ошибок и BSoD подойдет и программа BlueScreenView, которая имеет простой интерфейс, поэтому проблем с освоением возникнуть не должно.

Скачайте программу по указанной выше ссылке и установите. После запуска утилиты нужно ее настроить. Зайдите в параметры: «Настройки» — «Дополнительные параметры». Откроется небольшое окошко, в котором есть пару пунктов. В первом пункте нужно указать местонахождение дампов памяти. Обычно они находятся по пути C:WINDOWSMinidump. Тогда просто нажмите кнопку «По умолчанию».

Что можно видеть в программе? У нас есть пункты меню, часть окна с названиями файлов дампов и вторая часть окна – содержимое дампов памяти.

Как я говорил в начале статьи, дампы могут хранить драйвера, сам скриншот «экрана смерти» и другая полезная информация, которая нам может пригодиться.

Итак, в первой части окна, где файлы дампов, выбираем нужный нам дамп памяти. В следующей части окна смотрим на содержимое. Красноватым цветом помечены драйвера, находившиеся в стеке памяти. Как раз они и есть причина синего экрана смерти.

В интернете можно найти все о коде ошибке и драйвере, который может быть виной BSoD. Для этого нажимаем «Файл», а потом «Найти в Google код ошибки + Драйвер».

Можно сделать показ только драйверов, которые были на момент появления ошибки. Для этого нужно нажать «Настройки» — «Режим нижнего окна» — «Только драйвера, найденные в крэш-стеке». Либо нажать клавишу F7.

Чтобы показать скриншот BSoD нажмите клавишу F8.

Для показа всех драйверов и файлов нажимаем F6.

Ну вот собственно и все. Теперь вы знаете, как узнать о проблеме «Синего экрана смерти», и в случае чего найти решение в интернете, либо на этом сайте. Можете предлагать свои коды ошибок, а я постараюсь писать для каждой статьи по решению проблемы.

Также не забывайте задавать вопросы в комментариях.

http://computerinfo.ru/analiz-dampa-pamyati/http://computerinfo.ru/wp-content/uploads/2016/08/analiz-dampa-pamyati.jpghttp://computerinfo.ru/wp-content/uploads/2016/08/analiz-dampa-pamyati-150×150.jpg2016-08-18T13:45:42+00:00EvilSin225ПроблемыBlueScreenView,Microsoft Kernel Debuggers,анализ дампа,анализ дампа памяти,анализ дампа памяти windows 10,анализ дампа памяти windows 7,анализ краш дампа,причина BSoDЗдравствуйте друзья, сегодня разберем интересную тему, которая поможет вам в будущем при появлении синего экрана смерти (BSoD). Как и мне, так и многим другим пользователям приходилось наблюдать появление экрана с синим фоном, на котором что-то написано (белым по синему). Данное явление говорит о критической неполадке, как в программном обеспечении, например,…EvilSin225Андрей Терехов[email protected]Компьютерные технологии

Аварийный дамп памяти

Все windows-системы при обнаружении фатальной ошибки делают аварийный дамп (снимок) содержимого оперативной памяти и сохраняет его на жесткий диск. Существуют три типа дампа памяти:

Полный дамп памяти – сохраняет все содержимое оперативной памяти. Размер снимка равен размеру оперативной памяти + 1 Мб (заголовок). Используется очень редко, так как в системах с большим объемом памяти размер дампа будет слишком большим.

Дамп памяти ядра – сохраняет информацию оперативной памяти, касающуюся только режима ядра. Информация пользовательского режима не сохраняется, так как не несет в себе информации о причине краха системы. Объем файла дампа зависит от размера оперативной памяти и варьируется от 50 Мб (для систем с 128 Мб оперативной памяти) до 800 Мб (для систем с 8 Гб оперативной памяти).

Малый дамп памяти (мини дамп) – содержит довольно небольшое количество информации: код ошибки с параметрами, список драйверов загруженных в оперативную память на момент краха системы и т.д., но этих сведений достаточно, для определения сбойного драйвера. Еще одним преимуществом данного вида дампа является маленький размер файла.

Настройка системы

Для выявления драйвера вызвавшего синий экран нам достаточно будет использовать малый дамп памяти. Для того чтобы система при крахе сохраняла мини дамп необходимо выполнить следующие действия:

Проделав все манипуляции, после каждого BSoD в папке C:WINDOWSMinidump будет сохраняться файл с расширение.dmp. Советую ознакомиться с материалом «Как создать папку». Также можно установить галочку на “Заменить существующий файл дампа”. В этом случае каждый новый аварийный дамп будет записываться поверх старого. Я не советую включать данную опцию.

Анализ аварийного дампа памяти с помощью программы BlueScreenView

Итак, после появления синего экрана смерти система сохранила новый аварийный дамп памяти. Для анализа дампа рекомендую использовать программу BlueScreenView. Её можно бесплатно скачать тут. Программа довольно удобная и имеет интуитивный интерфейс. После её установки первое, что необходимо сделать – это указать место хранение дампов памяти в системе. Для этого необходимо зайти в пункт меню “Options” и выбрать “Advanced Options”. Выбираем радиокнопку “Load from the following Mini Dump folder” и указываем папку, в которой хранятся дампы. Если файлы хранятся в папке C:WINDOWSMinidump можно нажатием кнопки “Default”. Нажимаем OK и попадаем в интерфейс программы.

Программа состоит из трех основных блоков:

В блоке списка дамп памяти (на рисунке помечен цифрой 2) выбираем интересующий нас дамп и смотрим на список драйверов, которые были загружены в оперативную память (на рисунке помечен цифрой 3). Розовым цветом окрашены драйвера, которые находились в стеке памяти. Они то и являются причиной появления BSoD. Далее переходите в Главное меню драйвера, определяйте к какому устройству или программе они принадлежат. В первую очередь обращайте внимание на не системные файлы, ведь системные файлы в любом случае загружены в оперативной памяти. Легко понять, что на изображении сбойным драйвером является myfault.sys. Скажу, что это программа была специально запущена для вызова Stop ошибки. После определения сбойного драйвера, необходимо его либо обновить, либо удалить из системы.

Для того чтобы программа показывала список драйверов находящихся в стеке памяти во время возникновения BSoD необходимо зайти в пункт меню “Options” кликаем на меню “LowerPaneMode” и выбираем “OnlyDriversFoundInStack” (или нажмите клавишу F7), а для показа скриншота ошибки выбираем “BlueScreeninXPStyle” (F8). Что бы вернуться к списку всех драйверов, необходимо выбрать пункт “AllDrivers” (F6).

Буду признателен, если воспользуетесь кнопочками:

Анализ аварийных дампов windows

В случае критической ошибки система останавливает свою работу, отображает синий экран смерти (BSOD), информация об ошибке и содержимое памяти сохраняется в файле подкачки. При последующей загрузке системы, на основе сохраненных данных, создается аварийный дамп c отладочной информацией. В системном журнале событий создается запись о критической ошибке.

Если критическая ошибка возникла на ранней стадии загрузки системы или в результате ошибки произошел отказ дисковой подсистемы, аварийный дамп сохранен не будет.

Аварийный дамп может быть проанализирован с помощью утилиты BlueScreenView или системного отладчика WinDbg (Debugging Tools for windows).

Анализ аварийного дампа утилитой BlueScreenView

Простейшим инструментом для анализа аварийных дампов является утилита BlueScreenView от NirSoft.

Загружаем программу с сайта разработчика.

BlueScreenView сканирует папку с минидампами и отображает информацию по найденным отказам.

По каждому отказу отображается дата, данные об ошибке и драйвер, который предположительно вызвал отказ.

В нижней части окна отображается список загруженных в системе драйверов. Модули, к которым выполнялось обращение в момент отказа, выделены цветом, на них следует обратить особое внимание, они могут быть причиной отказа.

По двойному клику отображается дополнительная информация.

Анализ аварийного дампа отладчиком WinDbg

С помощью WinDbg из аварийного дампа можно вытащить более детальную информацию, включая расшифровку стека вызовов.

Установка Debugging Tools for windows (WinDbg)

Microsoft распространяет WinDbg только в составе SDK, загрузить веб-установщик можно на странице загрузки центра разработки.

Для анализа аварийных дампов установка SDK не требуется. Скачать Debugging Tools for windows (WinDbg) отдельным пакетом можно здесь или здесь.

Загружаем и устанавливаем WinDbg для вашей версии windows. Версия для windows 7 работает также в windows XP и в windows Vista.

Для windows 10 требуется WinDbg версии 10.0.10586.567. Скачиваем Изолированный пакет SDK для windows 10. Будет загружен веб-установщик. При установке, отключаем все компоненты, кроме отладчика.

После установки, корректируем ярлык для запуска WinDbg. В свойствах ярлыка, устанавливаем флажок запуска от имени администратора. Также, в качестве рабочей папки, задаем: %SystemRoot%Minidump.

Настройка отладочных символов

Отладочные символы содержат символические имена функций из исходного кода. Они необходимы для расшифровки и интерпретации аварийного дампа.

При первом запуске WinDbg, необходимо указать путь к отладочным символам, для этого открываем меню File, Symbol File Path, или используем комбинацию Ctrl+S.

Следующей строкой включаем загрузку отладочных символов из сети, задаем локальный путь для сохранения файлов и адрес для загрузки из интернета:

Если система не подключена к интернету, пакет для установки символов можно предварительно загрузить на странице загрузки пакетов символов windows, центра разработки Microsoft.

Анализ аварийного дампа

В меню выбираем File, Open Crash Dump, или нажимаем Ctrl+D.

Указываем путь к дампу %SystemRoot%MEMORY.DMP или %SystemRoot%Minidumpфайл.dmp.

Для получения детальной информации выполняем команду:

Дебаггер сам вам предложит ее выполнить, достаточно навести указатель мыши на ссылку и кликнуть.

В результате получаем следующий вывод:

******************************************************************************* * * * Bugcheck Analysis * * * ******************************************************************************* Тип ошибки: KMODE_EXCEPTION_NOT_HANDLED (1e) Комментарий к ошибке: This is a very common bugcheck. Usually the exception address pinpoints the driver/function that caused the problem. Always note this address as well as the link date of the driver/image that contains this address. Arguments: Аргументы ошибки: Arg1: 0000000000000000, The exception code that was not handled Arg2: 0000000000000000, The address that the exception occurred at Arg3: 0000000000000000, Parameter 0 of the exception Arg4: 0000000000000000, Parameter 1 of the exception Debugging Details: —————— EXCEPTION_CODE: (Win32) 0 (0) — . FAULTING_IP: +3332313336383065 00000000`00000000 ?? . EXCEPTION_PARAMETER1: 0000000000000000 EXCEPTION_PARAMETER2: 0000000000000000 ERROR_CODE: (NTSTATUS) 0 — STATUS_WAIT_0 BUGCHECK_STR: 0x1E_0 CUSTOMER_CRASH_COUNT: 1 DEFAULT_BUCKET_ID: VISTA_DRIVER_FAULT Процесс, вызвавший ошибку: PROCESS_NAME: VirtualBox.exe CURRENT_IRQL: 2 EXCEPTION_RECORD: fffff80000ba24d8 — (.exr 0xfffff80000ba24d8) ExceptionAddress: fffff800034d8a70 (nt!DbgBreakPoint) ExceptionCode: 80000003 (Break instruction exception) ExceptionFlags: 00000000 NumberParameters: 1 Parameter: 0000000000000000 TRAP_FRAME: fffff80000ba2580 — (.trap 0xfffff80000ba2580) NOTE: The trap frame does not contain all registers. Some register values may be zeroed or incorrect. rax=0000000000142940 rbx=0000000000000000 rcx=fffffa80055be690 rdx=0000000000009018 rsi=0000000000000000 rdi=0000000000000000 rip=fffff800034d8a71 rsp=fffff80000ba2718 rbp=fffff88006fa0000 r8=0000000000002274 r9=11d0851b22c6ac61 r10=fffff80003464000 r11=fffff80000ba27e0 r12=0000000000000000 r13=0000000000000000 r14=0000000000000000 r15=0000000000000000 iopl=0 nv up ei pl nz ac po nc nt!DbgBreakPoint+0x1: fffff800`034d8a71 c3 ret Resetting default scope LAST_CONTROL_TRANSFER: from fffff800034d85fe to fffff800034e0c10 STACK_TEXT: Стек вызовов: fffff800`00ba15b8 fffff800`034d85fe: fffffa80`03c05530 00000000`ffffffff fffff800`00ba1d30 fffff800`0350c830: nt!KeBugCheck fffff800`00ba15c0 fffff800`0350c4fd: fffff800`036ea71c fffff800`03627c30 fffff800`03464000 fffff800`00ba24d8: nt!KiKernelCalloutExceptionHandler+0xe fffff800`00ba15f0 fffff800`0350b2d5: fffff800`0362b028 fffff800`00ba1668 fffff800`00ba24d8 fffff800`03464000: nt!RtlpExecuteHandlerForException+0xd fffff800`00ba1620 fffff800`0351c361: fffff800`00ba24d8 fffff800`00ba1d30 fffff800`00000000 00000000`00142940: nt!RtlDispatchException+0x415 fffff800`00ba1d00 fffff800`034e02c2: fffff800`00ba24d8 fffffa80`07149010 fffff800`00ba2580 00000000`00000000: nt!KiDispatchException+0x135 fffff800`00ba23a0 fffff800`034de0f4: 00000000`00000016 00000000`00000001 00000000`00000001 00000000`00000000: nt!KiExceptionDispatch+0xc2 fffff800`00ba2580 fffff800`034d8a71: fffff880`05861446 00000000`df029940 fffff880`02f45bec 00000000`deee7000: nt!KiBreakpointTrap+0xf4 fffff800`00ba2718 fffff880`05861446: 00000000`df029940 fffff880`02f45bec 00000000`deee7000 fffff880`01229f06: nt!DbgBreakPoint+0x1 fffff800`00ba2720 00000000`df029940: fffff880`02f45bec 00000000`deee7000 fffff880`01229f06 fffffa80`05635af8: cmudaxp+0x25446 fffff800`00ba2728 fffff880`02f45bec: 00000000`deee7000 fffff880`01229f06 fffffa80`05635af8 00000000`00000000: 0xdf029940 fffff800`00ba2730 00000000`deee7000: fffff880`01229f06 fffffa80`05635af8 00000000`00000000 00000000`00000003: VBoxDrv+0x6bec fffff800`00ba2738 fffff880`01229f06: fffffa80`05635af8 00000000`00000000 00000000`00000003 fffff880`05865913: 0xdeee7000 fffff800`00ba2740 00000000`00000000: 00000000`00000001 00000000`00000006 00000000`00000001 fffff800`00ba2800: CLASSPNP!ClasspServiceIdleRequest+0x26 STACK_COMMAND: kb FOLLOWUP_IP: cmudaxp+25446 fffff880`05861446 ?? . SYMBOL_STACK_INDEX: 8 SYMBOL_NAME: cmudaxp+25446 FOLLOWUP_NAME: MachineOwner Драйвер, в котором возникла ошибка: MODULE_NAME: cmudaxp IMAGE_NAME: cmudaxp.sys DEBUG_FLR_IMAGE_TIMESTAMP: 47906a45 FAILURE_BUCKET_ID: X64_0x1E_0_cmudaxp+25446 BUCKET_ID: X64_0x1E_0_cmudaxp+25446 Followup: MachineOwner ———

Получение информации о проблемном драйвере

Если удалось обнаружить драйвер, в котором возникла ошибка, имя драйвера будет отображено в полях MODULE_NAME и IMAGE_NAME.

Чтобы получить путь к файлу и прочую информацию, щелкаем по ссылке на модуль:

start end module name fffff880`0583c000 fffff880`059ef000 cmudaxp T (no symbols) Loaded symbol image file: cmudaxp.sys Image path: SystemRootsystem32driverscmudaxp.sys Image name: cmudaxp.sys Timestamp: Fri Jan 18 13:58:45 2008 (47906A45) CheckSum: 0013077F ImageSize: 001B3000 Translations: 0000.04b0 0000.04e4 0409.04b0 0409.04e4

Если полный путь к драйверу не указан, по умолчанию используется папка %SystemRoot%system32drivers.

Находим указанный файл, и изучаем его свойства.

Обновляем проблемный драйвер.

Аппаратные причины возникновения критических ошибок

Источником критических ошибок нередко бывают неисправности в дисковой подсистеме, или в подсистеме памяти.

Диагностика неисправностей диска

В случае ошибок дисковой подсистемы, аварийный дамп может не сохраняться.

Чтобы исключить проблемы с диском, проверяем системный журнал событий на наличие ошибок чтения и записи на диск.

Проверяем параметры S.M.A.R.T жесткого диска, получить их можно, например, с помощью программы SpeedFan.

Особое внимание обращаем на параметры: «Current Pending Sector Count» и «Uncorrectable Sector Count», ненулевые значения этих параметров сигнализируют о неисправности диска.

Ненулевое значение параметра: «UltraDMA CRC Error Count», сигнализирует о проблеме с SATA-кабелем.

Подробнее о параметрах S.M.A.R.T. читаем в статье Википедии.

Диагностика неисправностей памяти

Проблемы с памятью нередко могут стать причиной самых разнообразных глюков, включая различные синие экраны, зависания, аварийное завершение программ, повреждение реестра, повреждение файловой системы и данных.

Выявить проблемы с памятью можно с помощью утилиты Memtest86+.

Начиная с windows Vista, в системе имеется свой тест памяти. Для его запуска нажимаем «Пуск», в строке поиска набираем «памяти», выбираем «Средство диагностики памяти windows».

Проблемы с памятью в некоторых случаях могут быть устранены обновлением BIOS.

Настройка параметров сохранения аварийного дампа

Для изменения параметров сохранения аварийного дампа нажимаем кнопку «Пуск», щелкаем на «Компьютер» правой кнопкой мыши, в контекстном меню выбираем «Свойства». В окне «Система» слева выбираем «Дополнительные параметры системы», в группе «Загрузка и восстановление» нажимаем кнопку «Параметры».

Подробнее о дампах памяти читаем здесь.

Синий экран смерти — что делать и как определить ошибку

Во время возникновения катастрофической ошибки, ОС windows оповещает своего пользователя о случившемся различными звуковыми и текстовыми сигналами. Благодаря им можно узнать более конкретнее об ошибке и исправить её. Однако, в большинстве случаев, владельцы ПК не запоминают их или просто не знают, что они значат. Система, наоборот, делает аварийный снимок ошибки, более известный как дамп, и сохраняет его на жёстком диске. Именно в нём содержится вся информация о поломке.

Типы дампа

Различают три типа дампа:

Для того, чтобы система могла сохранять малый дамп, необходимо установить определённые параметры.

Для ОС windows 7 и windows XP

Жмём «Пуск», правой кнопкой «Компьютер» и выбираем «Свойства».

Переходим к разделу «Дополнительные параметры системы».

Появится окно «Свойства системы». Во вкладке «Дополнительно», в разделе «Загрузка и восстановление» жмём «Параметры».

Выбираем «Малый дамп памяти» и жмём «Ок» для сохранения изменений.

Анализ малого дампа с помощью программы Blue Screen View

Программа Blue Screen View скачивается в виде архива тут и не требует установки. Для того, чтобы с её помощью определить причину сбоя системы, выполняем следующие действия.

Запускаем в архиве приложение, которое идентично названию программы.

Откроется окно софта. Интерфейс простой, однако, на английском. В первую очередь указываем место сохранения малого дампа. Жмём «Options» и выбираем «Advanced Options».

Ставим отметку возле первого раздела «Load fromthe following Mini Dump folder» и указываем папку, где находится снимок ошибки. Если изначально в настройках системы был установлен малый дамп, то программа сама укажет путь к снимку C:WINDOWSMinidump. Жмём «Ок», чтобы попасть в интерфейс программы.

Блок под цифрой 1 – это список аварийных дампов, которые были сделаны системой. Под цифрой 2 располагаются снимки и перечень драйверов.

Розовым в списке обозначены драйвера, которые являются причиной сбоя системы.

Если у вас нет списка с драйверами, жмём «Options». Переходим к «LowerPaneMode» и выбираем «OnlyDriversFoundInStack».

Определив, какой драйвер дал сбой, устраняем проблему.

Как с помощью дампа памяти определить драйвер, вызывающий BSOD

Причиной критических ошибок windows, сопровождаемых синими экранами (BSOD), часто является драйвер — вновь установленный или поврежденный. Определив, какой именно драйвер служит причиной ошибки, можно приступать к устранению проблемы: обновить драйвер, откатиться к более ранней версии, переустановить или удалить приложение, установившее драйвер и т. д. Не всегда название драйвера отображается на синем экране. Однако существует очень простой способ, позволяющий с помощью дампа памяти определить проблемный драйвер за пару минут.

Шаг 1 — Включение записи дампов памяти

Сначала нужно убедиться, что запись дампов включена. Для этого нужно открыть свойства системы, нажав комбинацию клавиш Win+Pause, [в Vista щелкнуть ссылку Дополнительные параметры системы], перейти на вкладку Дополнительно, и наконец нажать кнопку Загрузка и восстановление.

Малых дампов памяти должно быть достаточно для наших целей.

Обратите внимание на путь к папке, куда они будут сохраняться при возникновении критической ошибки.

Теперь вы можете запаковать файл в архив, прикрепить его к сообщению в форуме Устранение критических ошибок windows и подождать, пока вам кто-то сообщит название проблемного драйвера �� Но вы можете сделать это самостоятельно, не прилагая больших усилий.

Шаг 2 — Загрузка и установка диагностических средств

Это не так страшно, как можно подумать ��

Шаг 3 — Анализ дампа памяти

Теперь все сводится к выполнению одной команды. Откройте командную строку и перейдите в папку, в которую вы распаковали kdfe.cmd. Запустите файл, указав в качестве параметра путь к файлу дампа памяти (в примере ниже файл называется Mini1110307-01.dmp)

Через минуту вы увидите результат.

Драйвер, послуживший причиной ошибки, определен!

Синий экран смерти (англ. Blue Screen of Death, Blue Screen of Doom, BSoD )- сообщения о критической системной ошибке в операционных системах Microsoft Windows. Многие кто сталкиваются на своем компьютере/ ноутбуке с синим экраном смерти, единственным решением видят переустановку операционной системы. Но иногда ОС здесь вовсе не причем, а проблема в «железе». Для того что бы не гадать- почему появился синий экран смерти, нужно использовать информацию, которую предоставляет сама операционная система в виде логов. В этой статье я пошагово опишу как выяснить причину появления синего экрана смерти.

Итак, появление синего экрана смерти всегда неожиданно и не вовремя, поэтому успеть увидеть что написано многие просто не успевают, а там надо сказать написано (правда не в совсем явном виде) причины сбоя. Первым делом я предлагаю настроить компьютер/ ноутбук, что бы он не перезагружался сразу после сбоя системы, а дал возможность увидеть причину сбоя, если этой информации будет недостаточно необходимо посмотреть dump файл в котором содержится информация: код ошибки с параметрами, список драйверов загруженных в оперативную память на момент краха системы и т.д., но этих сведений достаточно, для определения сбойного драйвера.

Настройки касаемые перезагрузки после сбоя системы можно указать, если нажать правой кнопкой мыши на ярлыке Мой компьютер/ Компьютер (подходит для Windows XP, Windows7, Windows8), выбрать «Свойства «, или нажать сочетание клавиш +

. Все принтскирны ниже будут касаться Windows7, аналогичным способ настраивается на Windows XP, Windows8, Windows8.1.

На вкладке «Дополнительно » выберите в поле Загрузка и восстановление «Параметры «.

Убираете галочку «Выполнить автоматическую перезагрузку «, для того что бы успеть увидеть все что пишет синий экран смерти. В строке Файл дампа указан путь, где будет сохраняться файл, в котором будут указаны причины сбоя.

Теперь вы можете внимательно изучить информацию при появлении синего экрана смерти. Если компьютер у вас уже не загружается, и изменить данные настройки вы не можете, в этом случае при загрузке нажимаете на клавиатуре F8 и выбираете пункт меню «При отказе системы не выполнять перезагрузку».

Если указанной там информации мало, можно воспользоваться дампом (dmp файл ). Для этого можно использовать инструмент microsoft- microsoft debugging tool, но он много весит, требует установки и наличия framework 4.5. Можно обойтись меньшими жертвами, если использовать программу BlueScreenView . На мой взгляд очень удобная программа не требующая установки и на русском языке (файл добавить в папку с программой). Запустив файл BlueScreenView.exe вам откроется интерфейс программы в котором уже будет загружен dump этого компьютера (используется путь по умолчанию C:\Windows\MiniDump, если зайти в Настройки- Дополнительные параметры можно указать другой путь, если вы скопировали dump в другое место).

В Windows 8, Microsoft представила новый дамп памяти — опция автоматического дампа памяти. Этот параметр в операционной системе установлен по умолчанию. В Windows 10 ввели новый тип файла дампа — активный дамп памяти. Для тех, кто не знает, в Windows 7 у нас есть малый дамп, дамп ядра и полный дамп памяти. Вы можете удивиться, почему Microsoft решила создать этот новый параметр дамп памяти? По словам Роберта Симпкинса, старшего инженера поддержки, автоматический дамп памяти, может создать поддержку для страницы “системы” в файле конфигурации.
Система управления конфигурацией файла подкачки отвечает за управление размером файла подкачки – это позволяет избежать излишнего запаса или размера файла подкачки. Эта опция введена в основном для ПК, которые работают на SSD-дисках, которые, как правило, имеют меньший размер, но огромное количество оперативной памяти.

Параметры дампа памяти

Главное преимущество “Автоматический дамп памяти” заключается в том, что это позволит сеансу подсистемы в диспетчере процессов автоматически уменьшить файл подкачки до размера, меньшего, чем размер оперативной памяти. Для тех, кто не знает, сессия диспетчера подсистемы отвечает за инициализацию системы, среду запуска служб и процессов, которые необходимы для входа пользователя в систему. Он в основном устанавливает страницу файлов в виртуальную память и запускает процесс winlogon.exe.

Если вы хотите изменить параметры автоматического дампа памяти, вот как это можно сделать. Нажмите клавиши Windows + X и выберите — Система. Далее нажмите на кнопку “Дополнительные параметры системы — Advance System Settings ”.

Нажмите на кнопку Дополнительные параметры системы.

Здесь вы можете увидеть выпадающее меню, где написано “Дополнительно”.

Здесь вы можете выбрать нужный вариант. Предлагаемые варианты:

Никаких дампов памяти.
Малый дамп памяти.
Дамп памяти ядра.
Полный дамп памяти.
Автоматический дамп памяти. Добавлены в Windows 8.
Активный дамп памяти. Добавили в Windows 10.
Расположение файла дампа памяти в файле %SystemRoot%\MEMORY.DMP.

Если вы используете SSD диск, то лучше оставить его на “Автоматический дамп памяти”; но если вы нуждаетесь в файле аварийного дампа, то лучше установить его на “малый дамп памяти”, с ним вы можете, если вы хотите, отправить его кому-то, чтобы он мог взглянуть на него.

В некоторых случаях вам, возможно, потребуется увеличить размер файла подкачки больше, чем оперативная память, чтобы он мог соответствовать полному дампу памяти. В таких случаях, вам нужно создать ключ реестра:

он называется “LastCrashTime”.

Это автоматически увеличит размер файла подкачки. Чтобы уменьшить его, позже, вы можете просто удалить этот ключ.

В Windows 10 ввели новый файл дампа активный дамп памяти. Он содержит только самое необходимое и, следовательно, он меньшего размера.

У меня нет возможности протестировать его, но я создал этот ключ и выполнил мониторинг размера файла подкачки. Я знаю, что рано или поздно я получу критическую ошибку. Тогда я буду проверять его.

Вы можете проанализировать дамп памяти Windows.dmp файлов с помощью WhoCrashed. Утилита WhoCrashed Home бесплатная, в ней представлены драйверы, которые были врезаны в ваш компьютер с помощью одного клика. В большинстве случаев она может определить не исправный драйвер, который причиняют страдания вашему компьютеру. Это краш-дамп анализа системы, дампы памяти и здесь представлена вся собранная информация в доступной форме.

Как правило, набор инструментов отладки открывает аварийный дамп анализа. С помощью этой утилиты вам не нужны никакие знания и навыки отладки, чтобы выяснить, какие драйверы вызывают проблемы на вашем компьютере.

WhoCrashed полагается на пакет отладки (программы windbg) от Microsoft. Если этот пакет не установлен, WhoCrashed будет сама скачивать и автоматически извлечёт этот пакет для вас. Просто запустите программу и нажмите на кнопку Анализ. Когда у вас есть WhoCrashed установленный в системе и, если он неожиданно сбрасывает или закрывается, программа даст вам знать, если аварийный дамп включен на вашем компьютере, и она будет предлагать Вам предложения о том, как их включить.

Как часто Вам приходится лицезреть экран смерти Windows (BSoD)? BSoD может возникать в разных случаях: как уже при работе с системой, так и в процессе загрузки операционной системы. Как же определить, чем вызвано появление BSoD и устранить эту проблему? Операционная система Windows способна сохранять дамп памяти при появлении ошибки, чтобы системный администратор мог проанализировать данные дампа и найти причину возникновения BSoD.

Существует два вида дампов памяти — малый (minidump) и полный. В зависимости от настроек операционной системы, система может сохранять полный или малый дампы, либо не предпринимать никаких действий при возникновении ошибки.

Малый дамп располагается по пути %systemroot%\minidump и имеет имя вроде Minixxxxxx-xx.dmp
Полный дамп располагается по пути %systemroot% и имеет имя вроде Memory.dmp

Для анализа содержимого дампов памяти следует применять специальную утилиту — Microsoft Kernel Debugger.
Получить программу и компоненты, необходимые для ее работы, можно напрямую с сайта Microsoft — Debugging Tools

При выборе отладчика следует учитывать версию операционной системы, на которой Вам придется анализировать дампы памяти. Для 32-разрядной ОС необходима 32-битовая версия отладчика, а для 64-разрядной ОС предпочтительно использовать 64-битовую версию отладчика.

Помимо самого пакета Debugging Tools for Windows, также понадобятся набор отладочных символов — Debugging Symbols. Набор отладочных символов специфичен для каждой ОС, на которой был зафиксирован BSoD. Потому придется загрузить набор символов для каждой ОС, анализировать работу которой Вам придется. Для 32-разрядной Windows XP потребуются набор символов для Windows XP 32-бит, для 64-разрядной ОС потребуются набор символов для Windows XP 64-бит. Для других ОС семейства Windows наборы символов подбираются сообразно такому же принципу. Загрузить отладочные символы можно отсюда . Устанавливать их рекомендуется по адресу %systemroot%\symbols

После установки отладчика и отладочных символов, запускаем отладчик. Окно отладчика после запуска выглядит следующим образом.

Перед анализом содержимого дампа памяти, потребуется провести небольшую настройку отладчика. Конкретно — сообщить программе, по какому пути следует искать отладочные символы. Для этого выбираем в меню File > Symbol File Path… Нажимаем кнопку Browse… и указываем папку, в которую мы установили отладочные символы для рассматриваемого дампа памяти.

Можно запрашивать информацию о требуемых отладочных символах прямо через Интернет, с публичного сервера Microsoft. Таким образом у вас будет самая новая версия символов. Сделать это можно следующим образом — в меню File > Symbol File Path… вводим: SRV*%systemroot%\symbols*http://msdl.microsoft.com/download/symbols

После указания пути к отладочным символам, выбираем в меню File > Save workspace и подтверждаем действие нажатием на кнопку OK.

Чтобы приступить к анализу дампа памяти, выбираем в меню File > Open Crash Dump… и выбираем требуемый для рассмотрения файл.

Система проведет анализ содержимого, по окончанию которого выдаст результат о предполагаемой причине ошибки.

Команда!analyze -v, данная отладчику в командной строке, выведет более детальную информацию.

Завершить отладку можно выбором пункта меню Debug > Stop Debugging

Таким образом, используя пакет Debugging Tools for Windows, всегда можно получить достаточно полное представление о причинах возникновения системных ошибок.

Данная небольшая заметка ставит целью своей показать, каким же образом можно сконфигурировать систему, чтобы получить в своё распоряжение аварийный дамп памяти Windows , то есть дамп, который может быть создан в случае возникновения критического сбоя, характеризующегося появлением синего экрана смерти (BSOD). Что же такое дамп вообще, для чего он нам требуется и что из себя представляет, какие проблемы он призван решить и какую информацию содержит в себе?

Дамп памяти (memory dump) — содержимое рабочей памяти процесса, ядра или всей операционной системы, включающий, помимо рабочих областей, дополнительную информацию о состоянии регистров процессора, содержимом стека и прочие служебные структуры.

Для чего нам может потребоваться данное содержимое, то есть дамп памяти Windows ? Пожалуй, наиболее часто дамп памяти используется для изучения причин возникновения системного сбоя (), который явился причиной полного останова операционной системы. В дополнение к этому, состояние памяти может использоваться и для других целей. Немаловажен и тот факт, что дамп памяти — это буквально единственный способ получения информации о любом сбое! А снятие (получение) дампа памяти системы — это, фактически, единственный точный метод получения мгновенного отпечатка (копии) содержимого физической памяти системы.

Чем точнее содержимое дампа будет отражать состояние памяти в момент сбоя, тем подробнее мы сможем проанализировать аварийную ситуацию. Поэтому крайне важно получить именно актуальную копию физической памяти системы в строго определенный момент времени, непосредственно предшествующий сбою. А единственный способ сделать это — создать полный аварийный дамп памяти. Причина достаточно тривиальна — когда происходит создание аварийного дампа памяти системы, в результате ли сбоя, либо в следствии искусственно смоделированной ситуации, система в этот момент получения управления аварийными функциями (KeBugCheckEx) пребывает в абсолютно неизменном (статичном) состоянии, поэтому между моментом возникновения сбоя и моментом окончания записи данных на носитель ничто не изменяет содержимое физической памяти, и она в оригинальном состоянии записывается на диск. Ну это в теории, а в жизни изредка, но встречаются ситуации, что по причине неисправных аппаратных компонентов, сам дамп памяти может быть поврежден, или в процессе записи дампа станция может подвиснуть.

В подавляющем большинстве случаев, с момента начала процесса создания аварийного дампа памяти, и до момента завершения записи содержимого памяти на диск, информация в памяти остается неизменной.

Теоретически, статичность (неизменность) «отпечатка» памяти объясняется тем, что когда вызывается функция KeBugCheckEx , выводящая на экран информацию о сбое и стартующая процесс создания дампа памяти, система уже полностью остановлена и содержимое физической памяти записано в блоки, занимаемые на диске файлом подкачки, после чего, уже в процессе последующей загрузки операционной системы оно сбрасывается в файл на системном носителе. Ну а практически один раз наблюдал ситуацию, когда сбоящая материнская плата не давала сохранить дамп памяти: а) подвисая в процессе работы логики сохранения дампа (процесс не доходил до 100%), б) повреждая файл дампа памяти (отладчик ругался на структуры), в) записывая файлы дампов memory.dmp нулевой длины. Поэтому, не смотря на то, что система в момент создания дампа памяти уже полностью остановлена, и работает только аварийный код, сбойное железо может вносить свои коррективы в любую без исключения логику на любом этапе функционирования.
Традиционно, на начальном этапе для сохранения дампа памяти Windows используются блоки диска, выделенные файлу подкачки (pagefile). Затем, после возникновения синего экрана и перезагрузки, данные перемещаются в отдельный файл, а затем файл переименовывается по шаблону, зависящему от типа дампа. Однако, начиная с версии Windows Vista, подобное положение вещей возможно изменить, теперь пользователю дана возможность сохранять выделенный дамп без участия файла подкачки, помещая информацию о сбое во временный файл. Сделано это для того, чтобы исключить ошибки конфигурации, связанные с неправильной настройкой размера и положения файла подкачки, что зачастую приводило к проблемам в процессе сохранения дампа памяти.
Давайте посмотрим, какие же разновидности дампов позволяет нам создавать операционная система Windows:

  • Дамп памяти процесса (приложения);
  • Дамп памяти ядра;
  • Полный дамп памяти (дамп доступной части физической памяти системы).

Все аварийные дампы можно разделить на две основных категории:

  • Аварийные дампы с информацией о возникшем исключении . Обычно создаются в автоматическом режиме, когда в приложении/ядре возникает необрабатываемое исключение (unhandled exception) и, соответственно, может быть вызван системный (встроенный) отладчик. В этом случае информация об исключении записывается в дамп, что упрощает определение типа исключения и места возникновения при последующем анализе.
  • Аварийные дампы без информации об исключении . Обычно создаются пользователем в ручную, когда необходимо создать просто мгновенный снимок процесса для последующего анализа. Анализ этот подразумевает не определение типа исключения, поскольку никакого исключения и не возникало, а анализ совершенно другого рода, например изучение структур данных процесса и прочее.

Конфигурация дампа памяти ядра

Вы должны быть залогинены под административной учетной записью для выполнения действий, описываемых в данном разделе.

Давайте непосредственно перейдем к конфигурированию параметров аварийного дампа памяти Windows. Для начала, нам необходимо зайти в окно свойств системы одним и приведенных способов:

  1. Нажать правой кнопкой мыши на значке «Мой Компьютер» — «Свойства» — «Дополнительные параметры системы» — «Дополнительно».
  2. Кнопка «Пуск» — «Панель управления» — «Система» — «Дополнительные параметры системы» — «Дополнительно».
  3. Сочетание клавиш «Windows» + «Pause» — «Дополнительные параметры системы» — «Дополнительно».
  4. control system.cpl,3
  5. Выполнить в командной строке (cmd):
    SystemPropertiesAdvanced

Результатом описанных действий является открытие окна «Свойства системы» и выбор вкладки «Дополнительно»:

После этого в разделе «Загрузка и восстановление» мы нажимаем выбираем «Параметры» и тем самым открываем новое окно под названием «Загрузка и восстановление»:

Все параметры аварийного дампа сгруппированы в блоке параметров под названием «Отказ системы». В этом блоке мы можем задать следующие параметры:

  1. Записать события в системный журнал.
  2. Выполнить автоматическую перезагрузку.
  3. Запись отладочной информации.
  4. Файл дампа.
  5. Заменять существующий файл дампа.

Как видите, многие параметры из списка достаточно тривиальны и просты в понимании. Однако, я бы хотел подробнее остановиться на параметре «Файл дампа». Параметр представлен в виде ниспадающего списка, и имеет четыре возможных значения:

Малый дамп памяти (Small memory dump)

Малый дамп памяти (минидамп, minidump) — это файл, который содержит наименьший объем информации о сбое. Самый маленький из всех возможных дампов памяти. Не смотря на очевидные минусы, зачастую именно минидампы используются в качестве информации о сбое для передачи поставщику сторонних драйверов с целью последующего изучения.
Состав:

  • Сообщение об ошибке.
  • Значение ошибки.
  • Параметры ошибки.
  • Контекст процессора (PRCB), на котором произошел сбой.
  • Сведения о процессе и контекст ядра (EPROCESS) для процесса, являющего причиной сбоя, со всеми его потоками.
  • Сведения о процессе и контекст ядра (ETHREAD) для потока, являющегося причиной сбоя.
  • Стек режима ядра для потока, который явился причиной сбоя.
  • Список загруженных драйверов.

Размещение: %SystemRoot%\Minidump\MMDDYY-XXXXX-NN.dmp . Где MMDDYY — месяц, день и год соответственно, NN — порядковый номер дампа.
Объем: Размер зависит от разрядности операционной системы: требуется всего-то 128 килобайт для 32-разрядной и 256 килобайт для 64-разрядной ОС в файле подкачки (либо в файле, указанном в DedicatedDumpFile). Поскольку выставить столь малый размер мы не сможем, то округляем до 1 мегабайта.

Дамп памяти ядра (Kernel memory dump)

Данный тип дампа содержит копию всей памяти ядра на момент сбоя.
Состав:

  • Список исполняющихся процессов.
  • Состояние текущего потока.
  • Страницы памяти режима ядра, присутствующие в физической памяти в момент сбоя: память драйверов режима ядра и память программ режима ядра.
  • Память аппаратно-зависимого уровня (HAL).
  • Список загруженных драйверов.

В дампе памяти ядра отсутствуют нераспределенные страницы памяти и страницы пользовательского режима. Согласитесь, ведь маловероятно, что страницы процесса пользовательского режима будут нам интересны при системном сбое (BugCheck), поскольку обычно системный сбой инициируется кодом режима ядра.

Объем: Варьируется в зависимости от размера адресного пространства ядра, выделенной операционной системой и количества драйверов режима ядра. Обычно, требуется около трети объема физической памяти в файле подкачки (либо в файле, указанном в DedicatedDumpFile). Может варьироваться.

Полный дамп памяти (Complete memory dump)

Полный дамп памяти содержит копию всей физической памяти (ОЗУ, RAM) в момент сбоя. Соответственно, в файл попадает и все содержимое памяти системы. Это одновременно преимущество и главный недостаток, поскольку размер его на некоторых серверах с большим объемом ОЗУ может оказаться существенным.
Состав:

  • Все страницы «видимой» физической памяти. Это практически вся память системы, за исключением областей, используемых аппаратной частью: BIOS, пространство PCI и прч.
  • Данные процессов, которые выполнялись в системе в момент сбоя.
  • Страницы физической памяти, которые не отображены на виртуальное адресное пространство, но которые могут помочь в изучении причин сбоя.

В полный дамп памяти не включаются, по-умолчанию, области физической памяти, используемой BIOS.
Размещение: %SystemRoot%\MEMORY.DMP . Предыдущий дамп перезаписывается.
Объем: В файле подкачки (либо в файле, указанном в DedicatedDumpFile) требуется объем, равный размеру физической памяти + 257 мегабайт (эти 257 Мб делятся на некий заголовок + данные драйверов). На деле же, в некоторых ОС, нижний порог файла подкачки можно выставить точно в значение размера физической памяти.

Автоматический дамп памяти (Automatic memory dump)

Начиная с Windows 8/Windows Server 2012, в систему введен новый тип дампа под названием «Автоматический дамп памяти», который устанавливается типом по умолчанию. В этом случае система сама решает, какой дамп памяти записать в ситуации того или иного сбоя. Причем логика выбора зависит от многих критериев, в том числе от частоты «падения» операционной системы.

После изменения конфигурации дампа памяти Windows, может потребоваться перезагрузка компьютера.

Параметры реестра

Раздел реестра, который определяет параметры аварийного дампа:

  • 0 — не создавать дамп памяти;
  • 1 — полный дамп памяти;
  • 2 — дамп памяти ядра;
  • 3 — малый дамп памяти;

Ручное создание дампа памяти

Выше мы описывали настройки для автоматического создания аварийных дампов системы в случае возникновения критической ошибки, то есть необрабатываемого исключения в коде ядра. Но ведь в реальной жизни, помимо падения операционной системы, существуют ситуации, когда необходимо получить дамп памяти системы в конкретный момент времени. Как быть в этом случае? Существуют методы получения мгновенной копии всей физической памяти, например с помощью команды.dump в отладчиках WinDbg/LiveKD. LiveKD — программа, позволяющая запускать отладчик ядра Kd в функционирующей системе в локальном режиме. В отладчике WinDbg тоже имеется подобная возможность. Однако метод получения дампа «на лету» не точен, поскольку дамп создается в этом случае «противоречивый», так как для создания дампа требуется время, а в случае использования отладчика режима ядра система продолжает работать и вносить изменения в страницы памяти.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *