У меня есть minigame.exe
, который разбивается в какой-то момент внутри игры. Он не показывает сообщение об ошибке, и он просто говорит «Не реагировать». Я использую Win 7. Я хочу определить точку сбоя и попытаться исправить проблему с играми. Я думаю, проблема может быть вызвана из-за конкретной DLL, импортируемой исполняемым файлом. Однако я не знаю, как узнать эту конкретную сборочную линию и попытаться исправить исполняемый файл с помощью OllyDBG.Исправление исполняемого файла во избежание сбоя
0
A
ответ
1
С предоставленной информацией для этого ответа потребуется полный стиль учебника, который считается слишком широким для этого сайта. Но первый шаг, выяснение того, какой тип аварии и где это происходит, можно объяснить.
Я буду использовать WinDbg в качестве отладчика, так как я не знаком с OllyDbg. Это часть Debugging Tools for Windows, и она свободно доступна. Установите версии x64 или x86, соответствующие minigame.exe
.
- Start WinDbg, используйте правильный разрядность
- Run
minigame.exe
под WinDbg (File/Open executable
). Он остановится на начальной точке останова. - Set up the symbols, не менее
.symfix c:\debug\symbols
и.reload
. Это приведет к загрузке информации, необходимой для создания вызова. - Продолжить запуск приложения с
g
- Воспроизведите проблему/подождать, пока он не падает
- Когда WinDbg останавливается,
- создать аварийный дамп с
.dump /ma c:\debug\minigame.dmp
, так что вы можете проанализировать его позже, например, для того, чтобы задавать вопросы здесь, чтобы вам не пришлось повторно воспроизводить ошибку. - получить информацию об исключении с
.exr -1
- переключателя к потоку, который вызвал исключение с
~#s
- взглядом на стеке вызовов с
k
- создать аварийный дамп с
Теперь вы должны иметь лучшее понимание авария, возможно, достаточно, чтобы применить патч, возможно, нет. По крайней мере, это лучшая отправная точка для дальнейшего исследования.
Нет ли способа сделать это в x64_DBG? Когда я запускаю WinDBG64, он говорит, что debugee занят, и он также не показывает окна для регистров, памяти и ... Даже открытие регистров окна не отображает регистры. Это не удобный для пользователя или даже удобный отладчик для работы. – FreeMind
Да, WinDbg довольно ориентирован на команды. Его графический интерфейс на самом деле не интуитивно понятен, ни команды. Но это самый мощный отладчик. Вы можете сделать то же самое в OllyDbg, но, как я уже сказал, я не знаю, как его использовать. –
Доступен ли minigame.exe? Возможно, это относится к методам отладки –