修补可执行文件以避免崩溃

时间:2015-08-23 09:23:20

标签: dll crash patch crash-reports ollydbg

我有一个minigame.exe在游戏中的某个时刻崩溃了。它没有显示任何错误消息,它只是说没有响应。我正在使用Win 7.我想确定崩溃点并尝试修复游戏问题。我认为问题可能是由可执行文件导入的特定DLL引起的。但是,我不知道如何找出特定的装配线并试图用OllyDBG修补可执行文件。

1 个答案:

答案 0 :(得分:1)

根据提供的信息,这个答案需要一个完整的教程样式,这个样式对于这个站点来说太宽泛了。但是第一步,找出它是什么类型的崩溃以​​及它发生的位置可以解释。

我将使用WinDbg作为调试器,因为我不熟悉OllyDbg。它是Debugging Tools for Windows的一部分,可以免费使用。安装与minigame.exe匹配的版本x64或x86。

  1. 启动WinDbg,使用正确的位数
  2. 在WinDbg(minigame.exe)下运行File/Open executable。它会在最初的断点处停止。
  3. Set up the symbols,至少.symfix c:\debug\symbols.reload。这将下载构建callstack所需的信息。
  4. 继续使用g
  5. 运行应用程序
  6. 重现问题/等到崩溃
  7. 当WinDbg停止时,
    • 使用.dump /ma c:\debug\minigame.dmp创建故障转储,以便您稍后进行分析,例如在这里提问,这样你就不需要再次重现这个bug了。
    • 使用.exr -1
    • 获取有关例外的信息
    • 使用~#s
    • 切换到导致异常的线程
    • 使用k
    • 查看callstack
  8. 现在你应该更好地了解崩溃,也许足以应用补丁,也许不是。至少它是进一步探索的更好起点。