Среди прочих ошибок Windows 10, 8.1 и Windows 7, с которыми можно столкнуться как при запуске программы или игры, так и просто при работе в системе — сообщение «WerFault — ошибка приложения» с последующим пояснением, которое может отличаться в зависимости от ситуации, например: «Инструкция по адресу обратилась к памяти по адресу, память не может быть read» или «Память не может быть written», «Исключение unknown software exception в приложении», «Требуемые данные в память не помещены из-за ошибки ввода/вывода», иногда — «ошибка при запуске приложения» и другие.
В этой инструкции подробно о том, как выяснить, что вызывает ошибку приложения WerFault.exe и как её устранить, а также дополнительная информация, которая может оказаться полезной в контексте рассматриваемой проблемы.
Что такое WerFault.exe и как работает служба регистрации ошибок Windows
WerFault.exe — системный процесс, запускаемый службой регистрации ошибок при сбоях в работе приложений. В общих чертах процесс работы выглядит следующим образом:
- Какое-либо приложение при запуске или работе вызывает сбой.
- Запускается служба регистрации ошибок Windows.
- Запущенная служба запускает процесс werfault.exe с параметрами, где ключевыми являются -p и -ip, первый — ID сбойного процесса (вместо N — фактический номер), второй — ID процесса, инициировавшего сбой.
- Процесс WerFault.exe завершается менее чем за секунду и запускается второй процесс с несколько иными параметрами, но также с указанием на идентификатор сбойного процесса.
- В журнал событий Windows (в журнал «Приложения») добавляется событие с кодом 1000 и указанием сбойного приложения.
- Производится запуск процесса wermgr.exe, а через некоторое время (секунды) процессы WerFault.exe и wermgr.exe завершают работу.
- Служба регистрации ошибок Windows останавливается.
То есть, если упрощенно, ошибку вызывает не сам WerFault.exe, а какие-то программы на компьютере или их компоненты (например, библиотеки DLL), а WerFault служит лишь для отчета об ошибке.
Также представление о работе службы регистрации ошибок позволяет нам определить, какая именно программа вызывает сбой, если эта информация у нас отсутствует. Сделать это можно следующими способами:
- Зайти в просмотр событий Windows (Win+R — eventvwr.msc), открыть журналы Windows — Приложения и посмотреть последние события с кодом 1000 и информацию о сбое.
- Отловить werfault.exe в Process Explorer https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer и изучить передаваемые параметры, в частности ID процесса, по которому можно выявить сбойное приложение (отображение ИД процесса можно включить в обычном диспетчере задач или увидеть там же в Process Explorer в столбце PID).
Типичные причины ошибки приложения WerFault.exe и как её устранить
Среди распространенных причин появления ошибки приложения WerFault.exe можно выделить:
- Работа антивируса, особенно если ошибка возникает при запуске нелицензионного ПО — попробуйте отключить антивирус и проверить, решило ли это проблему.
- Неправильная работа драйверов. Чаще всего — видеокарты, сетевой карты и Wi-Fi адаптера. Решение — вручную скачать и установить оригинальные драйверы с официального сайта. При наличии интегрированного и дискретного видео — на оба видеоадаптера. Не забудьте перезагрузить компьютер после переустановки драйверов.
- Неправильная работа программы — опять же, чаще всего для нелицензионных программ с модифицированными файлами.
- Несовместимость программы с текущей версией Windows, особенно для старого ПО. Можно попробовать запуск программы в режиме совместимости.
- Модификации самой Windows. Имеет смысл проверить целостность системных файлов Windows.
- Работа сторонних служб, иногда — программ для очистки памяти, работающих в фоновом режиме. Проверьте, появляется ли ошибка, если выполнить чистую загрузку Windows.
- Ошибки работы оперативной памяти. Для проверки можно использовать средство диагностики памяти Windows.
- Если ошибка до недавнего времени не появлялась, есть вероятность, что причиной послужили какие-то обновления системы, можно попробовать их удалить. Или используйте точки восстановления системы на дату, когда проблема не проявляла себя.
- Если сообщение об ошибке имеет текст вида «Ошибка при запуске приложения» с указанием кода ошибки, попробуйте выполнить поиск в Интернете именно по этому коду ошибки.
- Для программ с подключаемыми модулями (например, плагинами) причиной ошибки могут являться сторонние плагины.
- На всякий случай проверьте ваш жесткий диск или SSD на ошибки файловой системы с помощью команды chkdsk C: /f в командной строке.
Среди прочих советов вы можете встретить предложение отключить службу регистрации ошибок и, как результат — запуск WerFault.exe. Это вряд ли поможет с запуском программы или игры, вызывающей сбой, но попробовать можно:
- Зайдите в «Службы», для этого нажмите клавиши Win+R на клавиатуре и введите services.msc
- Найдите «Служба регистрации ошибок Windows» в списке и дважды нажмите по ней.
- Установите «Тип запуска» в «Отключена» и примените настройки.