V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xxgirl2
V2EX  ›  C

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

  •  
  •   xxgirl2 · 2016-03-21 12:00:06 +08:00 · 2196 次点击
    这是一个创建于 3148 天前的主题,其中的信息可能已经有所发展或是发生改变。
    给两个使用相同引擎的游戏做了一个 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
    janxin
        1
    janxin  
       2016-03-21 15:16:02 +08:00 via iPhone
    外挂否?先检查是不是某些检查导致的。其次大量打日志吧,部分不影响的回头省略掉。
    能附加调试器的上调试器,崩溃调用看堆栈。 windows 上调试就那些技巧了…
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2586 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 11:27 · PVG 19:27 · LAX 04:27 · JFK 07:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.