Перестал работать раздел реестра LocalDumps (отчеты об ошибках Windows) - PullRequest
5 голосов
/ 02 марта 2012

Я настроил раздел реестра, HKLM \ SOFTWARE \ Microsoft \ Windows \ Отчеты об ошибках Windows \ LocalDumps , как описано в MSDN .

У меня есть тестовая программа - консольная программа, скомпилированная с Visual C ++, которая пытается разыменовать нулевой указатель перед печатью сообщения и выходом из него. Тестовая программа использовалась для выхода и выгрузки файла ядра, но теперь она просто завершается. Я не получаю ядро.

Я использую Windows Server 2008 R2 Enterprise, SP1 на физическом оборудовании.

Я не знаю, что изменилось. Что могло измениться, чтобы теперь WER не сбрасывал ядра?

Ответы [ 2 ]

2 голосов
/ 18 января 2018

Может произойти следующее:

Разрешения папки для записи в

Глядя на разрешения для папки C:\ProgramData\Microsoft\Windows\WER, она имеет

  • Чтение и выполнение
  • Список содержимого папки
  • Чтение

Создание подпапки LocalDumps унаследует разрешения.

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

Разрешения ключа реестра

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

LocalDumps permissions

32 против 64 бит

Отчет об ошибках Windows выполняется Windows и использует только раздел реестра с разрядностью ОС. Вы сказали, что создали оба. Если это правда, это нормально. Если вы установите только 32-битный ключ реестра, он не будет работать.

AeDebug

Если у вас есть настройка для AeDebug HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug, они выполняются до WER.

Обратите внимание, что эта запись может существовать в 32-битном (WOW6432Node) и 64-битном.

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

LocalDumps отключен

Убедитесь, что нет DWORD Disabled со значением 1 в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps

Использование REG_SZ вместо REG_EXPAND_SZ

Я видел людей, использующих REG_SZ для DumpFolder в сочетании с %APPDATA%. Только REG_EXPAND_SZ будет расширять переменные окружения.

0 голосов
/ 10 апреля 2014

Убедитесь, что вы добавили ключ на узел LocalDumps , например "LocalDumps \ MyApplication.exe". Затем обновите значения, которые описаны в этой ссылке. Во время сбоя WER ищет ключ с соответствующим именем приложения, чтобы решить, как обрабатывать дамп.

...