注入的 dll 导致主程序各种 segfault?

2016-03-21 12:00:06 +08:00
 xxgirl2
给两个使用相同引擎的游戏做了一个 dll 。
使用的 detours ,钩了 MultiByteToWideChar 。
自己写的主程序测试没有问题,两个返回值和系统的 MultiByteToWideChar 规律一致。

结果:
Debug 模式, A 游戏: RtlpAllocateHeap 异常
Release 模式, A 游戏:在开始游戏几分钟之内没有问题,各种功能可正常操作
Debug 模式, B 游戏:无法开始游戏, RltpFreeHeap 异常
Release 模式, B 游戏:场景切换时, RltpFreeHeap 异常
Release 关掉 Whole Program Optimization , B 游戏: RtlpInsertFreeBlock 异常(被 RtlpFreeHeap 调用)

另外代码也加了几个简单的线程锁,也不知对这类问题发生的概率有没有影响。

我的问题是,大家一般遇到这类异常的时候,都会检查哪些方面?
或者有没有相关的资料可供参考学习?
2222 次点击
所在节点    C
1 条回复
janxin
2016-03-21 15:16:02 +08:00
外挂否?先检查是不是某些检查导致的。其次大量打日志吧,部分不影响的回头省略掉。
能附加调试器的上调试器,崩溃调用看堆栈。 windows 上调试就那些技巧了…

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/265098

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX