Crash dump что это
Перейти к содержимому

Crash dump что это

Вы отправили слишком много запросов, поэтому ваш компьютер был заблокирован.

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

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

Не все ошибки можно найти до выпуска, что означает, что не все ошибки, которые вызывают исключения, можно найти до выпуска. К счастью, корпорация Майкрософт включила в пакет SDK для платформы функцию, которая поможет разработчикам собирать сведения об исключениях, обнаруженных пользователями. Функция MiniDumpWriteDumpDump записывает необходимые сведения о аварийном дампе в файл без сохранения всего пространства процесса. Этот файл сведений о аварийном дампе называется мини-dump. В этой технической статье содержатся сведения о том, как писать и использовать мини-dump.

  • Написание мини-dump
  • Потокобезопасность
  • Написание мини-dump с помощью кода
  • Использование Dumpchk.exe
  • Анализ мини-dump
    • Использование общедоступного сервера символов Майкрософт
    • Отладка minidump с помощью WinDbg
    • Использование средств защиты копирования с minidumps

    Написание мини-dump

    Основные варианты написания мини-dump приведены следующим образом:

    • Никакие действия не выполняются. Windows автоматически создает мини-dump всякий раз, когда программа выдает необработанное исключение. Автоматическое создание мини-dump доступно с Windows XP. Если пользователь разрешает это, мини-dump будет отправлен в Корпорацию Майкрософт, а не разработчику через отчеты об ошибках Windows (WER). Разработчики могут получить доступ к этим мини-приложениям через программу классических приложений Windows. Для использования WER требуется:
      • Разработчики могут подписать свои приложения с помощью Authenticode
      • Приложения имеют допустимый ресурс VERSIONINFO в каждом исполняемом файле и библиотеке DLL

      Если вы реализуете настраиваемую подпрограмму для необработанных исключений, настоятельно рекомендуется использовать функцию ReportFault в обработчике исключений, чтобы также отправить автоматизированную мини-передачу в WER. Функция ReportFault обрабатывает все проблемы подключения и отправки мини-dump в WER. Не отправляя мини-дампы в WER, нарушают требования игр для Windows.

      Дополнительные сведения о WER см. в отчеты об ошибках Windows .

      Потокобезопасность

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

      Написание мини-dump с помощью кода

      Фактическая реализация проста. Ниже приведен простой пример использования MiniDumpWriteDump .

      #include #include #include int GenerateDump(EXCEPTION_POINTERS* pExceptionPointers) < BOOL bMiniDumpSuccessful; WCHAR szPath[MAX_PATH]; WCHAR szFileName[MAX_PATH]; WCHAR* szAppName = L"AppName"; WCHAR* szVersion = L"v1.0"; DWORD dwBufferSize = MAX_PATH; HANDLE hDumpFile; SYSTEMTIME stLocalTime; MINIDUMP_EXCEPTION_INFORMATION ExpParam; GetLocalTime( &stLocalTime ); GetTempPath( dwBufferSize, szPath ); StringCchPrintf( szFileName, MAX_PATH, L"%s%s", szPath, szAppName ); CreateDirectory( szFileName, NULL ); StringCchPrintf( szFileName, MAX_PATH, L"%s%s\\%s-%04d%02d%02d-%02d%02d%02d-%ld-%ld.dmp", szPath, szAppName, szVersion, stLocalTime.wYear, stLocalTime.wMonth, stLocalTime.wDay, stLocalTime.wHour, stLocalTime.wMinute, stLocalTime.wSecond, GetCurrentProcessId(), GetCurrentThreadId()); hDumpFile = CreateFile(szFileName, GENERIC_READ|GENERIC_WRITE, FILE_SHARE_WRITE|FILE_SHARE_READ, 0, CREATE_ALWAYS, 0, 0); ExpParam.ThreadId = GetCurrentThreadId(); ExpParam.ExceptionPointers = pExceptionPointers; ExpParam.ClientPointers = TRUE; bMiniDumpSuccessful = MiniDumpWriteDump(GetCurrentProcess(), GetCurrentProcessId(), hDumpFile, MiniDumpWithDataSegs, &ExpParam, NULL, NULL); return EXCEPTION_EXECUTE_HANDLER; >void SomeFunction() < __try < int *pBadPtr = NULL; *pBadPtr = 0; >__except(GenerateDump(GetExceptionInformation())) < >> 

      В этом примере демонстрируется базовое использование MiniDumpWriteDuriteDumpDump и минимальная информация, необходимая для вызова. Имя файла дампа до разработчика; Однако, чтобы избежать конфликтов имен файлов, рекомендуется создать имя файла из имени и номера версии приложения, идентификаторов процессов и потоков и даты и времени. Это также поможет сохранить мини-dumpы сгруппированы по приложению и версии. Разработчик решает, сколько сведений используется для различения имен файлов minidump.

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

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

      1. В левой части страницы свойств проекта щелкните C/C++. По умолчанию отображается общие параметры. В правой части страницы свойств проекта задайте для параметра «Форматсведений отладки» значение Program Database (/Zi).
      2. В левой части страницы свойства разверните компоновщик и нажмите кнопку «Отладка«. В правой части страницы свойства задайте для параметра «Создать отладочную информацию» значение «Да» (/DEBUG).
      3. Нажмите кнопку » Оптимизация» и задайте для ссылок значение Eliminate Unreferenced Data (/OPT:REF).
      4. Установите параметр Enable COMDAT Folding to Remove Redundant COMDATs (/OPT:ICF).

      Использование Dumpchk.exe

      Dumpchk.exe — это программа командной строки, которую можно использовать для проверки правильности создания файла дампа. Если Dumpchk.exe создает ошибку, файл дампа поврежден и не может быть проанализирован. Дополнительные сведения об использовании Dumpchk.exe см. в статье «Использование dumpchk.exe» для проверки файла дампа памяти.

      Dumpchk.exe включен на компакт-диск продукта Windows XP и может быть установлен на системный диск\Program Files\Support Tools\ с помощью программы Setup.exe в папке Support\Tools\ на компакт-диске продукта Windows XP. Вы также можете получить последнюю версию Dumpchk.exe, скачайте и установите средства отладки, доступные из средств отладки Windows в Центре разработчика оборудования Windows.

      Анализ мини-dump

      Открытие мини-dump для анализа так же просто, как создание.

      Анализ мини-dump

      1. Откройте Visual Studio.
      2. В меню «Файл» нажмите кнопку «Открыть проект«.
      3. Задайте для типа «Файлы дампа», перейдите к файлу дампа, выберите его и нажмите кнопку «Открыть».
      4. Запустите отладчик.

      Отладчик создаст имитированный процесс. Имитированный процесс будет остановлен в инструкции, вызвавшей сбой.

      Использование общедоступного сервера символов Майкрософт

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

      Установка пути к серверу символов Майкрософт

      1. В меню отладки нажмите кнопку «Параметры«.
      2. В диалоговом окне «Параметры» откройте узел отладки и щелкните «Символы«.
      3. Убедитесь, что поиск указанных выше расположений выполняется только при загрузке символов вручную , если при отладке не требуется загружать символы вручную.
      4. При использовании символов на удаленном сервере символов можно повысить производительность, указав локальный каталог, в который можно скопировать символы. Для этого введите путь к символам кэша с сервера символов в этот каталог. Чтобы подключиться к общедоступному серверу символов Майкрософт, необходимо включить этот параметр. Обратите внимание, что при отладке программы на удаленном компьютере каталог кэша ссылается на каталог на удаленном компьютере.
      5. Щелкните OK.
      6. Так как вы используете общедоступный сервер символов Майкрософт, появится диалоговое окно лицензионного соглашения конечного пользователя. Нажмите кнопку «Да» , чтобы принять соглашение и скачать символы в локальный кэш.

      Отладка minidump с помощью WinDbg

      Вы также можете использовать WinDbg, отладчик, который входит в состав средств отладки Windows, для отладки мини-ddump. WinDbg позволяет выполнять отладку без использования Visual Studio. Чтобы скачать средства отладки Windows, см. статью «Средства отладки Windows» в Центре разработчика оборудования Windows.

      После установки средств отладки Windows необходимо ввести путь к символам в WinDbg.

      Ввод пути символа в WinDbg

      1. В меню «Файл» щелкните «Путь к символам«.
      2. В окне пути поиска символов введите следующее: «srv\*c:\\cache\*https://msdl.microsoft.com/download/symbols;»

      Использование средств защиты копирования с minidumps

      Разработчики также должны знать, как их схема защиты копирования может повлиять на мини-dump. Большинство схем защиты копирования имеют собственные средства descramble, и разработчику предстоит узнать, как использовать эти средства с MiniDumpWriteDump .

      Итоги

      Функция MiniDumpWriteDump Может быть чрезвычайно полезным инструментом для сбора и устранения ошибок после выпуска продукта. Написание пользовательского обработчика исключений, использующего MiniDumpWriteDumpDump , позволяет разработчику настроить сбор сведений и улучшить процесс отладки. Функция достаточно гибкая для использования в любом проекте на основе C++и должна рассматриваться как часть процесса стабильности любого проекта.

      Обратная связь

      Были ли сведения на этой странице полезными?

      Создание ядра или полный аварийный дамп

      Сбой системы (также известный как «проверка ошибок» или «Остановка ошибки») происходит, когда Windows не может работать правильно. Файл дампа, созданный из этого события, называется системным аварийным дампом.

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

      Применимо к: Windows 10

      Настройка файлов страниц

      Сведения о требованиях к размеру файла страницы для аварийного дампа системы см. в разделе «Поддержка системных аварийных дампов».

      Включение параметра дампа памяти

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

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

      1. В панель управления выберите «Система и система безопасности>«.
      2. Выберите «Дополнительные системные параметры«, а затем откройте вкладку «Дополнительно «.
      3. В области «Запуск и восстановление » выберите » Параметры».
      4. Убедитесь, что в разделе » Запись сведений об отладке» выбран дамп памяти ядра или полный дамп памяти.
      5. Перезагрузите компьютер.

      Путь к файлу дампа можно изменить, отредактировать поле файла дампа . Другими словами, можно изменить путь с %SystemRoot%\Memory.dmp на локальный диск, на котором достаточно места на диске, например E:\Memory.dmp.

      Советы по генерации дампов памяти

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

      В зависимости от скорости жесткого диска, на котором установлена Ос Windows, создание дампа более чем на 2 гигабайта (ГБ) памяти может занять много времени. Даже в лучшем случае, если файл дампа настроен для размещения на другом локальном жестком диске, значительный объем данных будет считываться и записываться на жесткие диски. Этот процесс чтения и записи может привести к длительному сбою сервера.

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

      Создание файла дампа памяти вручную

      Использование средства NotMyFault

      Если вы можете войти во время возникновения проблемы, можно использовать средство Microsoft Sysinternals NotMyFault, выполнив следующие действия:

      1. Скачайте средство NotMyFault .
      2. Нажмите кнопку «Пуск», а затем выберите командную строку.
      3. В командной строке выполните следующую команду:

      notMyfault.exe /crash 

      Эта операция создает файл дампа памяти и ошибку остановки D1.

      Использование NMI

      На некоторых компьютерах нельзя использовать клавиатуру для создания файла аварийного дампа. Например, Hewlett-Packard (HP) BladeSystem от Hewlett-Packard Development Company управляется с помощью графического пользовательского интерфейса (GUI) на основе браузера. Клавиатура не подключена к серверу HP BladeSystem.

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

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

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

      Этот раздел реестра не требуется для клиентов под управлением Windows 8 и более поздних версий или серверов, работающих Windows Server 2012 и более поздних версий. Установка этого раздела реестра в более поздних версиях Windows не действует.

      1. Открыв редактор реестра, выберите следующий подраздел: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl
      2. Щелкните элемент CrashControl правой кнопкой мыши, наведите указатель на пункт «Создать» и выберите значение DWORD.
      3. Введите NMICrashDump и нажмите клавишу ВВОД.
      4. Щелкните правой кнопкой мыши NMICrashDump и выберите команду «Изменить».
      5. В поле данных « Значение» введите 1 и нажмите кнопку «ОК».
      6. Перезагрузите компьютер.
      7. Поставщики оборудования, такие как HP, IBM и Dell, могут предоставлять функцию автоматического восстановления системы (ASR). Эту функцию следует отключить во время устранения неполадок. Например, если функция HP и Compaq ASR включена в BIOS, отключите эту функцию во время устранения неполадок, чтобы создать полный файл Memory.dmp. Чтобы выполнить конкретные действия, обратитесь к поставщику оборудования.
      8. Включите параметр NMI в BIOS или с помощью веб-интерфейса iLO.

      Примечание. Точные инструкции см. в справочном справочнике по BIOS или обратитесь к поставщику оборудования.

      Если вы хотите запустить NMI в Microsoft Azure с помощью последовательной консоли, см. раздел «Использование последовательной консоли для вызовов SysRq и NMI».

      Перевод «a crash dump» на русский

      This makes it possible for users to generate and analyze a crash dump during a soft lockup for forensic purposes.

      Это поможет пользователям генерировать и анализировать дамп ядра в процесе гибкой блокировки.

      The script saves the folder creation date of the crash dump in the VarSet collection. If a crash dump did not occur, that is logged.

      Сценарий сохраняет дату создания папки аварийного дампа в наборе VarSet. Если аварийный дамп не выполнялся, это записывается.

      Предложить пример

      Другие результаты

      Instead, it is «dedicated» to back a system crash dump file (memory.dmp) when a system crash occurs.
      Вместо этого он служит для сохранения файла аварийного дампа системы (memory.dmp) в случае сбоя.

      Computers that are running Microsoft Windows or Microsoft Windows Server usually must have a page file to back a system crash dump.

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

      This is a new setting, not a new kind of crash dump.
      Это новая настройка, а не новый вид аварийного дампа.

      If a new crash dump occurred or if it is the first time that the script has run, the script logs and creates event 1710, specifying the new crash dump folder and path.

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

      This means that the page files increase and decrease based on many factors, such as the amount of physical memory installed, the process of accommodating the system commit charge, and the process of accommodating a system crash dump.

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

      It has always been about supporting a system crash dump, if it is necessary, or extending the system commit limit, if it is necessary.

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

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

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