dd_action('wp_footer', function() { ?>
Практические инструкции: что делать, если что-то сломалось дома. Только причины и реальные решения.
Event Viewer (Просмотр событий Windows) — это встроенный журнал диагностики Windows.
Он записывает:
Главная задача:
понять:
почему игра закрылась, зависла или не смогла запуститься.
Схема работы:
Запуск игры
↓
Ошибка
↓
Windows записывает событие
↓
Event Viewer
↓
Faulting module
↓
Причина сбояИспользовать, если:
Особенно полезен для:
Нажать:
Win + RВвести:
eventvwr.mscНажать:
EnterЧерез поиск Windows:
Просмотр событийГлавные журналы:
Windows Logs
↓
ApplicationТакже:
Windows Logs
↓
SystemДля игр чаще всего нужен:
ApplicationЗдесь находятся:
Пример:
Application Error
Game.exe
Faulting applicationПосле сбоя:
Открыть:
Event Viewer
↓
Windows Logs
↓
ApplicationСправа:
Filter Current LogВыбрать:
Critical
ErrorИ найти событие по времени.
Обычно выглядит так:
Faulting application name:
Game.exeЭто программа, которая упала.
Пример:
Faulting application name:
game.exe
Faulting module name:
ddraw.dllОчень важная строка.
Это одна из самых полезных частей.
Пример:
Faulting module name:
d3d9.dllВозможные причины:
Пример:
Faulting module name:
ntdll.dllЭто НЕ всегда означает проблему Windows.
Причины:
Пример:
Faulting module name:
MSVCR120.dllПричина:
Visual C++ Runtime.
Проверять:
Visual C++ 2013Например:
Faulting module:
kernel32.dllЭто не значит:
«сломался Windows».
Windows DLL часто становятся местом, где обнаруживается ошибка.
Нужно смотреть:
Очень важное поле.
Access Violation.
Означает:
программа обратилась к неправильной памяти.
Причины:
Очень известная ошибка.
Обычно:
x86/x64 mismatchНапример:
32-bit game
+
64-bit DLLОшибка инициализации DLL.
Причины:
Не найден компонент.
Часто:
Event Viewer помогает найти:
ddraw.dllПроверять:
dsound.dllПроверять:
d3d9.dllПроверять:
binkw32.dllПроверять:
mss32.dllПроверять:
Event Viewer:
Application Error
Faulting application:
game.exe
Faulting module:
d3d9.dll
Exception code:
0xc0000005Диагноз:
Проблема:
Проверяем:
До:
Faulting module:
game.exeПосле добавления:
ddraw.dllВывод:
фикс загрузился, но вызвал проблему.
Проверяем:
Ошибка:
Faulting module:
MSVCP100.dllПричина:
Visual C++ 2010.
Event Viewer часто показывает:
.NET RuntimeНапример:
Application:
Launcher.exe
Exception:
System.IO.FileNotFoundExceptionПричина:
нет:
Не искать одну строку.
Смотреть:
Лучший порядок:
Игра падает
↓
Event Viewer
↓
Faulting module
↓
Dependencies
↓
ProcMon
↓
Process ExplorerПример:
Event Viewer:
d3d9.dll↓
Dependencies:
проверить API.
↓
ProcMon:
проверить загрузку.
↓
Process Explorer:
проверить реальную DLL.
Неверно.
Не нужно.
Опасно.
Правильный путь:
найти:
| Поле | Что показывает |
|---|---|
| Faulting application | какая программа упала |
| Faulting module | какой модуль участвовал |
| Exception code | тип сбоя |
| Fault offset | место ошибки |
| .NET Runtime | ошибки платформы |
| Application Error | падения EXE |
Event Viewer — главный источник информации после вылета игры.
Он позволяет узнать:
какой модуль вызвал падение;
какой код ошибки появился;
связана ли проблема с DLL;
нужен ли анализ DirectX/Runtime.
Главная схема:
Игра
↓
Вылет
↓
Event Viewer
↓
Faulting module
↓
Поиск причины
↓
Исправление