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

18

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


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

%LOCALAPPDATA%\CrashDumps

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

введите описание изображения здесь

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

введите описание изображения здесь

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

введите описание изображения здесь

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

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

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


введите описание изображения здесь

Ян Бойд
источник
я сделал dir *.dmp /s, dir *.mdmp /sиз папки Windows , и корень папки моего профиля пользователя.
Ян Бойд
Убедитесь, что у вас не включены аварийные дампы приложений? У меня не было проблем с поиском их в моей системе. Конечно, я также проверил, что эта функция была включена в моей системе.
Ramhound
Где вы их нашли в вашей системе? (Я проверил два места) Какие настройки для аварийных дампов WER у вас включены? (Я проверил 3 настройки)
Ian Boyd
Вы проверили журнал событий? Обычно вы найдете путь к свалкам там. IIRC Windows упаковывает их (.dmp + .xml) в ZIP-файл, поэтому его также можно назвать по-другому. Попробуйте, Win+Rа затем eventvwrи, ENTERчтобы проверить журнал событий.
0xC0000022L
1
@IanBoyd: зависит от настроек системы, и я пока не слишком знаком с W8. Я предлагаю вам попытаться найти этот файл в следующий раз, когда диалог WER еще открыт.
0xC0000022L

Ответы:

6

В 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определенной подпапки.

paulgutten
источник
4

Это кажется очень простым:

На моей машине с Windows 8.1 не было% LOCALAPPDATA% \ CrashDumps, и дампы не создавались. Я создал следующее значение в реестре:

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

(приведенный выше синтаксис не совсем для файлов .reg, но должно быть понятно, что это)

и в следующий раз, когда у меня произошел сбой моей программы, дамп был сгенерирован в C:\Dumps.

Надеюсь, это поможет.

Сергей
источник
2

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

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

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

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

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

harrymc
источник
Ситуация еще более Кафкаянская, чем я мог себе представить. Возвращение к Windows 7 вариант? В противном случае у вас нет другого выбора, кроме как купить лицензию Verisign или отказаться от аварийных дампов приложений.
harrymc
Это серьезное нарушение безопасности для приложений, обрабатывающих конфиденциальную информацию, таких как пароли и закрытые ключи. Нет абсолютно никакой причины отправлять дампы с конфиденциальной информацией таким компаниям, как Microsoft. Конфиденциальная информация никогда не должна выходить за границы безопасности, как приложение или локальный компьютер. Правоохранительные органы и преступники благодарят Microsoft за упрощение сбора секретной информации.
jww
0

Вы можете переопределить место, где хранятся файлы . запустите regedit.exeи перейдите HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps, создайте REG_EXPAND_SZс именем папки, которую вы хотите использовать (например, C: \ dumps).

magicandre1981
источник
Это не обязательно, так как DumpFolder имеет значение по умолчанию %LOCALAPPDATA%\CrashDumps. Но очевидно, что это не имеет никакого эффекта для плаката на Windows 8.
harrymc
Исходя из моего опыта, переопределение папки гарантирует, что записываются дампы, что не относится к настройкам по умолчанию.
magicandre1981,
Все возможно с Windows 8 ... Надеюсь, что постер сможет дать здесь некоторую обратную связь.
harrymc
@harrymc Раздел реестра существует; скриншот в оригинальном вопросе показывает мини-дампы.
Ян Бойд
1
снова, измените значение на что-то вроде C: \ dumps. Это работает для меня, так как эта функция была добавлена ​​в Vista Sp1.
magicandre1981