Где в Windows 8 хранятся мини-дампы в пользовательском режиме?

30630
Ian Boyd

Где в Windows 8 хранятся мини-дампы при сбоях в пользовательском режиме?


Документация Windows Vista и Windows 7 (по умолчанию) хранит аварийный дамп в :

%LOCALAPPDATA%\CrashDumps 

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

enter image description here

Но когда происходит сбой приложения в Windows 8:

enter image description here

Там нет аварийных свалок в %LOCALAPPDATA%\CrashDumps; нет даже CrashDumpsпапки:

enter image description here

Что приводит к вопросу:

Где в Windows 8 хранятся мини-дампы при сбоях в пользовательском режиме?

Примечание: вы можете игнорировать все после первой строки; это просто впустую наполнитель.


enter image description here

18
я сделал `dir * .dmp / s`,` dir * .mdmp / s` из папки ** Windows ** и корень папки моего профиля пользователя. Ian Boyd 11 лет назад 0
Убедитесь, что у вас не включены аварийные дампы приложений? У меня не было проблем с поиском их в моей системе. Конечно, я также проверил, что эта функция была включена в моей системе. Ramhound 11 лет назад 0
Где вы их нашли в вашей системе? (Я проверил два места) Какие настройки для аварийных дампов WER у вас включены? (Я проверил 3 настройки) Ian Boyd 11 лет назад 0
Вы проверили журнал событий? Обычно вы найдете путь к свалкам там. IIRC Windows упаковывает их (.dmp + .xml) в ZIP-файл, поэтому его также можно назвать по-другому. Попробуйте `Win + R`, а затем` eventvwr` и `ENTER`, чтобы проверить журнал событий. 0xC0000022L 11 лет назад 0
@ 0xC0000022L Средство просмотра событий отображает события из ** отчетов об ошибках Windows ** show, «Прикрепленные файлы: ..., ..., C: \ Users \ ian \ AppData \ Local \ Temp \ WERD655.tmp.mdmp», которые К сожалению, там нет. Ian Boyd 11 лет назад 0
@IanBoyd: зависит от настроек системы, и я пока не слишком знаком с W8. Я предлагаю вам попытаться найти этот файл в следующий раз * пока * диалог WER еще открыт. 0xC0000022L 11 лет назад 1
@ERROR_ACCESS_DENIED Даже при запущенном Process Monitor, в поиске любого `Path` *, содержащего *` dmp`, и всех файловых операций из `dwwin.exe`, я не вижу создаваемых файлов дампа. Ian Boyd 11 лет назад 0
@IanBoyd - Как я уже сказал, они были в определенных местах приложения. Ramhound 11 лет назад 0
@IanBoyd - статья MSDN, на которую вы ссылаетесь, гласит: «Эта функция не включена по умолчанию». Вы должны создать ключ LocalDumps. Имея это и DumpFolder REG_EXPAND_SZ заставляет вещи работать на этом компьютере Windows 8. jla 10 лет назад 0

4 ответа на вопрос

6
paulgutten

В Windows 8.1 Professional я заметил следующее:

Отчет об ошибках Windows пишет: %ProgramData%\Microsoft\Windows\WER\

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

Используйте редактор групповой политики ( gpedit.msc): Computer Configuration -> Administrative Templates -> Windows Components -> Windows Error Reporting -> Advanced Error Reporting Settings

  1. Включить политику Configure Report Archive:

    • Поведение архива = Хранить все
    • Макс число = 100
  2. Вы также можете включить политику Do not throttle additional dataдля отправки и сохранения дампов для последовательных сбоев с аналогичной подписью.

Дампы находятся внутри файла Report.cabопределенной подпапки.

3
Sergei

It seems to be very simple:

On my Windows 8.1 machine there was no %LOCALAPPDATA%\CrashDumps and no dumps were generated. I created the following value in the Registry:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps] DumpFolder=REG_EXPAND_SZ:"C:\Dumps" 

(the above syntax is not quite for .reg files, but it must be clear what it is)

and next time I had a crash of my program, the dump was generated in C:\Dumps.

I hope this helps.

2
harrymc

Вы можете искать файлы .dmp на вашем компьютере. Но если вы не найдете ничего, продолжайте читать.

Для приложений Магазина Windows 8, кажется, собирает аварийные дампы приложений на серверах Microsoft, где их срок службы совершенно неизвестен (мое подозрение: 30 дней, и я взял это число отсюда ).

Подробнее см. Статью « Улучшение приложений с помощью отчетов о качестве» .

В двух словах: вы получаете доступ к отчетам о качестве через "сводную страницу" вашего приложения. Эта страница содержит ссылку на скачивание CAB-файла, содержащего дамп процесса (!).

У меня нет Windows 8, и мой приведенный выше ответ кажется чистым сумасшествием со стороны Microsoft, но этот невероятный факт - то, что я прочитал в документации. Я просто надеюсь, что я не прав.

[К сожалению, Microsoft не позволит мне * иметь * мои отчеты WinQual!] (Http://stackoverflow.com/questions/611472/winqual-why-would-wer-not-accept-code-signing-certificates) Ian Boyd 11 лет назад 0
Ситуация еще более Кафкаянская, чем я мог себе представить. Возвращение к Windows 7 вариант? В противном случае у вас нет другого выбора, кроме как купить лицензию Verisign или отказаться от аварийных дампов приложений. harrymc 11 лет назад 0
0
magicandre1981

You can override the location where the files are stored. run regedit.exe and go to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps, create a REG_EXPAND_SZ with the name of the folder you like to use (like C:\dumps).

В этом нет необходимости, так как DumpFolder имеет значение по умолчанию «% LOCALAPPDATA% \ CrashDumps». Но, очевидно, это не влияет на постер на Windows 8. harrymc 11 лет назад 0
Исходя из моего опыта, переопределение папки гарантирует, что записываются дампы, что не соответствует настройке по умолчанию. magicandre1981 11 лет назад 0
С Windows 8 все возможно ... Надеюсь, что постер сможет дать здесь некоторую обратную связь. harrymc 11 лет назад 0
@harrymc Раздел реестра существует; скриншот в оригинальном вопросе показывает мини-дампы. Ian Boyd 11 лет назад 0
@IanBoyd: раздел реестра не должен существовать для создания дампов в Windows 7, потому что там он имеет значение по умолчанию. В этом ответе говорится, что нужно создать и установить его в другую папку, кроме `% LOCALAPPDATA% \ CrashDumps`, и посмотреть, изменит ли это что-нибудь. Я лично не верю в это, но пытаться не повредит. harrymc 11 лет назад 0
@harrymc Нет, я говорил, что уже * создал * раздел реестра. Это не повлияло на изменение и не повлияло на поведение. Обновленный вопрос со скриншотом regedit, показывающим ключ Ian Boyd 11 лет назад 0
снова измените значение на что-то вроде C: \ dumps. Это работает для меня, так как эта функция была добавлена ​​в Vista Sp1. magicandre1981 11 лет назад 1
... и убедитесь, что `C: \ dumps` существует. Создайте его при необходимости. harrymc 11 лет назад 0
для меня служба WER всегда создает папку. magicandre1981 11 лет назад 0