您的位置:首页 > 其它

调试DLL的另类方法

2013-03-29 09:18 204 查看
前言: EXE是别人的,DLL我做。网上找了N多方法,都不会用啊(看来我比较笨)。最后想到一个另类的方法,看代码:

int _plugin_proc(EPluginMsgType eMsgType,void* param1,void* param2)
{
	float x,y;
	CString str;

	static int i=9, j=0;
	i = i/j;  //重点,你懂的。代码要跑过这里,得修改J的值,所以不能是i=i/0;
//your code ........
}
这是DLL的入口函数,就是DEF文件那个导出函数。

说明,当代码运行到这里时(i = i/j),就是被中断,因为 j =0了,这个时候,就会出现程序出错,你点调试,然后,选用你写DLL代码的那个VS。注意:代码停到这里时,要把J=0改为其它值哦,这样,代码才能继续跑,如果仍要停,你懂的。(在变量处直接修改就好了)

还有,一些全局变量的初始化是没办法调试的,因为代码最初运行时,是先全局变量,然后,才是入口函数(我在全局变量里面试过,不行耶,具体原因,得看汇编比较过才懂)。不过,你可以尝试下那些全局的代码放在入口处。

开发环境:VS2010环境+WIN 7
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: