设置了一个全局钩子CBTProc,钩子函数在动态库 B.dll中,实现对其它进程的注入。
一般进程还好,但是对于3DMax不知道为什么debug版的可以,而release的在加载 B.dll的时候却会有异常(在vc内部显示的),外部表现就是3Dmax进程卡死,再没有动作,这个时候B.dll的DllMain还没有进去.
有没有人知道为什么,因为会对所有的进程注入,对其他进程都没有什么影响,所以代码应该没有什么大的问题。而debug的缺可以正常运行,为什么release就不行了呢,优化什么的都调过了也没用~
一般进程还好,但是对于3DMax不知道为什么debug版的可以,而release的在加载 B.dll的时候却会有异常(在vc内部显示的),外部表现就是3Dmax进程卡死,再没有动作,这个时候B.dll的DllMain还没有进去.
有没有人知道为什么,因为会对所有的进程注入,对其他进程都没有什么影响,所以代码应该没有什么大的问题。而debug的缺可以正常运行,为什么release就不行了呢,优化什么的都调过了也没用~
如果是debug的在异常信息那里会显示加载符号~然后一切正常
两次加载的空间地址不一样。查看内存,第一次的加载的地址上没有,第二次的地址上面才有(但是不知道加载完成没有)。
如果是debug的都是一次加载完成。
2.使用日志文件输出关键点信息.
----------------------------------------
是不是3D类游戏,我曾经写外挂时候遇到过,关闭挂弹出的对话框就好了,研究好久一直没有解决,据说是DirectX编程的问题。
另:没有详细看你的问题,断章取义,希望给你一个参考