使用全局钩子注入动态库异常的问题~
设置了一个全局钩子CBTProc,钩子函数在动态库 B.dll中,实现对其它进程的注入。
一般进程还好,但是对于3DMax不知道为什么debug版的可以,而release的在加载 B.dll的时候却会有异常(在vc内部显示的),外部表现就是3Dmax进程卡死,再没有动作,这个时候B.dll的DllMain还没有进去.
有没有人知道为什么,因为会对所有的进程注入,对其他进程都没有什么影响,所以代码应该没有什么大的问题。而debug的缺可以正常运行,为什么release就不行了呢,优化什么的都调过了也没用~
[解决办法]
异常信息是什么?
[解决办法]
错误好是什么啊?比如0xC0000005什么的...
[解决办法]
我估计要么还是你的程序有问题。你可以在release下进行调试,看看还会不会出现问题。
[解决办法]
1.在release下调试.
2.使用日志文件输出关键点信息.
[解决办法]
我的一个代码也用到了CBT hook,不知道有没有问题,你可以试试:
http://blog.sina.com.cn/s/blog_4e5dcb9701000c44.html
[解决办法]
我也做过类似的事,debug ok release 出错,有些地方是优化的问题,最好对你关键代码关闭全局优化。但很多时候是因为你的代码本身有bug,建议先让目标进程在调试状态,再远注看看
[解决办法]
外部表现就是3Dmax进程卡死,再没有动作,
----------------------------------------
是不是3D类游戏,我曾经写外挂时候遇到过,关闭挂弹出的对话框就好了,研究好久一直没有解决,据说是DirectX编程的问题。
另:没有详细看你的问题,断章取义,希望给你一个参考