Ошибка DLLHost.exe (COM Surrogate): диагностика и решение вылетов
Симптомы падения процесса DLLHost.exe
Пользователи сталкиваются с сообщением: Прекращена работа программы «COM Surrogate» (DLLHost.exe) при просмотре папок с видео/фотографиями, открытии системных утилит или печати. В журнале событий фиксируется ошибка приложения с кодом Event ID 1000.
| Имя сбойного модуля | Код исключения | Причина падения |
|---|---|---|
| Неизвестный кодек / видео-фильтр | 0xc0000005 (Access Violation) | Сбой стороннего сплиттера или кодека при создании превью видеоролика |
| ntdll.dll / kernelbase.dll | 0xc0000374 (Heap Corruption) | Повреждение динамической кучи процесса при обращении к расширению проводника |
| Драйвер принтера | 0xc0000094 (Divide by zero) | COM Surrogate падает при вызове окна свойств принтера |
Пошаговое устранение сбоев DLLHost.exe (COM Surrogate)
- Выявите проблемную библиотеку через Просмотр событий: откройте
eventvwr.msc> Журналы Windows > Приложение > найдите ошибкуEvent ID 1000от источникаApplication Error. Обратите внимание на строку «Имя сбойного модуля» (Faulting module name). - Очистите кэш эскизов Проводника: поврежденный файл предпросмотра вызывает циклический краш процесса:
taskkill /f /im explorer.exe; del /f /s /q /a "%LocalAppData%\Microsoft\Windows\Explorer\thumbcache_*.db"; start explorer.exe - Удалите конфликтные сторонние пакеты кодеков: полностью деинсталлируйте пакеты наподобие K-Lite Codec Pack, CCCP или Shark007, так как устаревшие библиотеки обработки медиаконтейнеров (MKV, MP4) встраиваются в DLLHost.
- Настройте исключение предотвращения выполнения данных (DEP) для COM Surrogate: откройте
sysdm.cpl> Дополнительно > Быстродействие > Параметры > Предотвращение выполнения данных > выберите «Включить DEP для всех программ, кроме выбранных» > ДобавьтеC:\Windows\System32\dllhost.exe.
Внимание: Если процесс dllhost.exe грузит процессор на 100% или запускается из каталогов AppData или Temp, это признак маскировки вредоносного ПО (майнера/трояна). Оригинальный системный файл находится исключительно в C:\Windows\System32.
Частые вопросы (FAQ)
Зачем операционной системе нужен процесс DLLHost.exe?
COM Surrogate (DLLHost.exe) является вспомогательным изолирующим процессом. Он запускает внутри себя внешние библиотеки DLL. Если библиотека сбоит (например, кривой декодер видео), падает только DLLHost.exe, а не сам проводник Explorer.exe.
Почему отключение эскизов решает проблему вылетов DLLHost?
При отключении миниатюр (Отображать значки, а не эскизы) проводник перестает подгружать сторонние парсеры мультимедиа файлов, изолируя источник сбоя.
Как проверить файл DLLHost.exe на целостность?
Выполните в командной строке команду sfc /scanfile=C:\Windows\System32\dllhost.exe.
Может ли сбой вызывать стороннее контекстное меню проводника?
Да, расширения оболочки (Shell Extensions), встраивающиеся в контекстное меню (WinRAR, облачные клиенты), часто приводят к краху COM Surrogate. Для их отключения используйте утилиту ShellExView.