xxgirl2
V2EX  ›  C

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

  •  
  •   xxgirl2 · Mar 21, 2016 · 3013 views
    This topic created in 3753 days ago, the information mentioned may be changed or developed.
    给两个使用相同引擎的游戏做了一个 dll 。
    使用的 detours ,钩了 MultiByteToWideChar 。
    自己写的主程序测试没有问题,两个返回值和系统的 MultiByteToWideChar 规律一致。

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

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

    我的问题是,大家一般遇到这类异常的时候,都会检查哪些方面?
    或者有没有相关的资料可供参考学习?
    1 replies    2016-03-21 15:16:02 +08:00
    janxin
        1
    janxin  
       Mar 21, 2016 via iPhone
    外挂否?先检查是不是某些检查导致的。其次大量打日志吧,部分不影响的回头省略掉。
    能附加调试器的上调试器,崩溃调用看堆栈。 windows 上调试就那些技巧了…
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1105 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 18:29 · PVG 02:29 · LAX 11:29 · JFK 14:29
    ♥ Do have faith in what you're doing.