如何编写一个程序,实现单步跟踪dll的某个变量? 本帖最后由 cooldaizi2 于 2009-12-02 09:17:59 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果debug不方便的话,最好用日志的方式 debug下,直接在dll工程的源文件中下断点,在应用工程中按F5,将断在dll中 把你的DLL工程编译到使用该DLL的地方。下面的步骤在VC 6.0上用的。也就是说:比如你程序A使用的DLL所在的目录是D:\DLL\myhello.dll那么你需要按下面步骤操作: 1.打开这个DLL工程,选菜单:Project->Setting->link 下面选General选项,在OUtput file name上写上DLL的路径,就是D:\DLL\myhello.dll,然后编译一次,这样你的DLL文件,就生成到D:\DLL\myhello.dll这个目录下了,下次调试的时候,VC IDE就知道了:哦,原来这个DLL,是从这个源代码过去的啊。 2. 打开应用这个DLL的应用工程,在调用DLL的函数前断点F9,直接按F5调试运行,当程序停到你的断点位置,直接按F11,就可以跟到DLL的源代码了。(第一步,DLL编译很重要,这样IDE就知道了,源码在哪里了)PS:这个方法,估计也是为什么,我们可以跟某些MFC自带源代码的方法,有时侯,在调用MFC的附带函数,按F11可以跟到MFC自带的源代码里面,我估计和我上面说的差不多吧。 API拦截的问题 钩子如何截获 无法打开预编译头文件,求助,急啊 请问如何获得-- 点击一个文件的动作? 如何用程序实现Access2000格式转换成access97格式 关于CreateCompatibleBitmap的问题? 用VC写的程序,要移植到UNIX系统下,怎么做? 怎么从自己编的程序中向记事本输入文字? vc学习的迷茫 一个难道! 如何虚拟Tab键??? NetMeeting 组件在安装系统时是否已经注册了?
那么你需要按下面步骤操作:
1.打开这个DLL工程,选菜单:Project->Setting->link 下面选General选项,在OUtput file name上写上DLL的路径,就是D:\DLL\myhello.dll,然后编译一次,这样你的DLL文件,就生成到D:\DLL\myhello.dll这个目录下了,下次调试的时候,VC IDE就知道了:哦,原来这个DLL,是从这个源代码过去的啊。
2. 打开应用这个DLL的应用工程,在调用DLL的函数前断点F9,直接按F5调试运行,当程序停到你的断点位置,直接按F11,就可以跟到DLL的源代码了。(第一步,DLL编译很重要,这样IDE就知道了,源码在哪里了)PS:这个方法,估计也是为什么,我们可以跟某些MFC自带源代码的方法,有时侯,在调用MFC的附带函数,按F11可以跟到MFC自带的源代码里面,我估计和我上面说的差不多吧。