Перейти к содержимому

Дамп процесса что это

  • автор:

Файлы дампа

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

Сбор дампов

Дампы можно собирать различными способами в зависимости от платформы, на которой выполняется приложение.

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

Часто задаваемые вопросы о сборе, анализе и других предостережениях дампа см. в разделе Дампы: вопросы и ответы.

  • Переменные среды можно использовать для настройки приложения для сбора дампа при сбое.
  • Вы можете собрать дамп, когда приложение еще не завершило работу. Например, если вы хотите проверить состояние приложения, в котором, на ваш взгляд, возникла взаимоблокировка, настройка переменных среды для сбора дампов при сбое не будет полезна, так как приложение все еще работает.
  • dotnet-dump — это простое кроссплатформенное средство командной строки для сбора дампа. Некоторые другие средства отладчика, такие как Visual Studio или windbg , также имеют функции сбора дампов.
  • Если вы запускаете приложение в рабочей среде или выполняете его распределенным образом (несколько служб, реплик), dotnet-monitor обеспечивает поддержку многих распространенных сценариев и нерегламентированных диагностических исследований, включая сбор дампов и исходящий трафик. Он позволяет собирать дампы удаленно или с условиями активации.

Анализ дампов

  • Перейдите к разделу Отладка дампов Linux , чтобы получить сведения об анализе дампов, собранных в Linux.
  • Перейдите к разделу Отладка дампов Windows , чтобы получить сведения об анализе дампов, собранных в Windows.

Анализ памяти

Вы можете выполнить анализ памяти в приложении, если память приложения продолжает увеличиваться, но вы не знаете, почему это так. В руководстве по отладке утечки памяти показано, как отладить утечку памяти с помощью инструментов dotnet CLI с командами dotnet-sos dumpheap и gcroot.

Анализ памяти Visual Studio можно использовать для диагностики утечки памяти в Windows.

См. также раздел

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

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

Совместная работа с нами на GitHub

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

Что такое dump(памяти) процесса и как им воспользоваться?

Думаю, что С++ имеет участие в данном вопросе. Потому что большинство ПО и игр написаны на нём или на С-подобном языке. Поправьте, если это не так.

Вообще, интересовал вопрос: что такое дамп памяти процесса и как им пользоваться. Не ОС, а какой-нибудь программы или игры.

  • Правильно ли создавать дампы через диспетчер задач и есть другие способы, а нужны ли эти способы?
  • Можно ли получить полезную информацию с дампа памяти?
  • Какие еще есть инструменты для открытия и просмотра дампов?
  • Что же там содержится в этом «черном ящике» файла дампа?
  • Вопрос задан более трёх лет назад
  • 6445 просмотров

2 комментария

Простой 2 комментария

На C++ можно писать/читать память процесса. Допустим есть игра и в коде игры есть переменная со значением 100, который является нашим здоровьем. Это значение находиться на нашем ОЗУ и у него есть свой адрес. Зная адрес, На C++ можно получить это значение или изменить его. Например мы можем читать этот адрес и как только наше здоровье уменьшится переписать этот адрес со значением 100 и стать бессмертным. Таким образом пишутся читы для игр. Адреса бывают двух типов: обычные и базовые(pointer). Обычные меняются при каждом перезапуске игры, а базовый никогда не меняются. Обычные находить легко, а базовые сложно. Находят их через CheatEngine (после установки будет туториал с задачами по нахождению и изменению адреса на самой программе). Изучай WriteProcessMemory() и ReadProcessMemory(). Если что, обращайся, нечего делать.

P.S всё что я перечислил относится ко всем программам на любом языке с любой целью.

Дамп динамической памяти диспетчера задач

Диспетчер задач можно использовать для создания динамического дампа памяти ядра. Это в дополнение к существующей возможности использования диспетчера задач для создания дампа памяти определенного процесса.

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

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

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

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

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

Функция динамического дампа Диспетчера задач была выпущена в начале 2023 года и впервые была доступна в Windows Insider Preview сборках в Canary Channel (сборка 25276 и более поздние версии) и Канале разработчика (сборка 23419 и более поздних версиях), а в июле 2023 г. доступна в сборке ОС Windows 22621.1992 и более поздних версий.

Создание динамического дампа памяти ядра системы с помощью диспетчера задач

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

  1. Запустите диспетчер задач Windows.
  2. Перейдите к разделу Процессы или Сведения.
  3. Найдите системный процесс.
  4. Щелкните правой кнопкой мыши и выберите Создать динамический файл дампа памяти ядра.
  5. В раскрывающемся меню выберите дамп полной динамической памяти ядра или дамп памяти стека ядра.

Снимок экрана: пользовательский интерфейс дампа динамической памяти диспетчера задач.

Создание дампа памяти для процесса в пользовательском режиме

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

Дополнительные параметры файла дампа памяти ядра

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

Снимок экрана: пользовательский интерфейс дополнительных параметров дампа динамической памяти диспетчера задач.

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

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

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

  • Запись страниц памяти гипервизора (с несуществуя страницами или без нее)
  • Запись пользовательских страниц

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

Запись страниц памяти гипервизора

Выберите параметр Записать страницы памяти гипервизора , чтобы записать области памяти, используемые гипервизором для поддержки Hyper-V и виртуальных машин. Дополнительные сведения см. в статье Hyper-V в Windows.

Вы можете включать или не включать несуществуемые страницы памяти гипервизора.

Запись пользовательских страниц

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

Расположение файла дампа динамической памяти

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

Дампы памяти ядра в реальном времени

По умолчанию динамические дампы памяти ядра хранятся здесь.

%LocalAppData% обычно C:\Users\\AppData\Local\

Динамические дампы памяти в пользовательском режиме

Файлы дампа памяти в режиме реального времени хранятся в каталоге %localappdata%\Temp, который обычно находится в каталоге Пользователи.

Устранение неполадок при создании дампа динамической памяти

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

  • Диспетчер задач должен выполняться от имени пользователя уровня администратора.
  • Из-за проблем с временем ожидания попробуйте снова создать дамп через несколько минут.
  • Дождитесь завершения запрошенного дампа, прежде чем создавать дополнительные дампы памяти.
  • Возможно, создание дампа динамической памяти ядра выполняется успешно, но не может содержать полное содержимое памяти. Для записи временно требуется достаточно свободной физической памяти для хранения копии памяти для записи в файл дампа. Закрытие ненужных приложений или отключение записи страниц памяти Hyper-V и пользовательского режима может увеличить объем памяти, который можно сохранить в файле дампа.

Анализ файлов дампа динамической памяти

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

Дополнительные сведения см. в разделе:

  • Анализ файла дампа Kernel-Mode с помощью WinDbg
  • !Анализировать
  • Справочник по коду дампа динамической памяти ядра

Код проверки ошибок: 0x161 — LIVE_SYSTEM_DUMP

Код проверка ошибок для дампа динамической памяти диспетчера задач — проверка ошибок 0x161: LIVE_SYSTEM_DUMP.

См. также раздел

  • Разновидности файлов дампа Kernel-Mode.
  • 0x161 проверки ошибок: LIVE_SYSTEM_DUMP
  • Создание ядра или выполнение аварийного дампа

Совместная работа с нами на GitHub

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

Windows driver documentation

Дамп процесса что это

Для всех приложений

Общие вопросы

Как получить дамп процесса в Windows 7, 8, 8.1, 10, 11 и в Windows Server 2008, 2012, 2016, 2019

Статья обновлена: 29 июня 2022 ID: 12401

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

Чтобы получить дамп процесса:

Переход к просмотру процессов в Диспетчере задач Windows 10

  1. Нажмите Ctrl+Alt+Delete на клавиатуре.
  2. Выберите Диспетчер задач.
  3. Если у вас:
    • Windows 7, перейдите на вкладку Процессы.
    • Windows 11, вкладка Процессы будет открыта автоматически, перейдите к следующему шагу.
    • Windows 8, 8.1, 10 или серверная система нажмите Подробнее.
  4. Нажмите правой кнопкой на процесс, дамп которого необходимо получить, и в контекстном меню выберите Создать файл дампа.

Создание дампа процесса в Windows 10

  1. Дождитесь сообщения об успешном создании файла.
  2. Скопируйте путь к файлу дампа.

Путь к файлу дампа процесса в Windows 10

Клавиша Windows на клавиатуре

  1. Нажмите OK.
  2. Нажмите +E на клавиатуре.
  3. Вставьте скопированный адрес папки в адресную строку.
  4. Нажмите Enter на клавиатуре.

Папка с созданным файлом дампа будет открыта.

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

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