这是一个创建于 3198 天前的主题,其中的信息可能已经有所发展或是发生改变。
给两个使用相同引擎的游戏做了一个 dll 。
使用的 detours ,钩了 MultiByteToWideChar 。
自己写的主程序测试没有问题,两个返回值和系统的 MultiByteToWideChar 规律一致。
结果:
Debug 模式, A 游戏: RtlpAllocateHeap 异常
Release 模式, A 游戏:在开始游戏几分钟之内没有问题,各种功能可正常操作
Debug 模式, B 游戏:无法开始游戏, RltpFreeHeap 异常
Release 模式, B 游戏:场景切换时, RltpFreeHeap 异常
Release 关掉 Whole Program Optimization , B 游戏: RtlpInsertFreeBlock 异常(被 RtlpFreeHeap 调用)
另外代码也加了几个简单的线程锁,也不知对这类问题发生的概率有没有影响。
我的问题是,大家一般遇到这类异常的时候,都会检查哪些方面?
或者有没有相关的资料可供参考学习?
1 条回复 • 2016-03-21 15:16:02 +08:00
|
|
1
janxin 2016-03-21 15:16:02 +08:00 via iPhone
外挂否?先检查是不是某些检查导致的。其次大量打日志吧,部分不影响的回头省略掉。 能附加调试器的上调试器,崩溃调用看堆栈。 windows 上调试就那些技巧了…
|