欢迎来到天天文库
浏览记录
ID:18592459
大小:1.76 MB
页数:13页
时间:2018-09-19
《delphi 2010 动态链接库dll断点调试》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、DELPHI2010动态链接库DLL断点调试马根峰(广东联合电子服务股份有限公司,广州510300)摘要:本文详细介绍了Delphi2010中的动态链接库DLL断点调试技术关键词:DELPHI2010;Dll断点调试;1Delphi几个经典版本简介Delphi从1995年的1.0版本,发展到现在的最新的XE3版本,历经N多版本,但最为经典的几个版本个人觉得应属7.0、2007和2010。Delphi7.0应该是Delphi用户最多的版本。Delphi2007是功能就不多说了,归根结底一句话,它是AnsiString的最后一个版本,在Delphi2007中,s
2、tring类型映射为AnsiString,char类型映射为AnsiChar,Pchar类型映射为PAnsiChar。所以DELPHI低版本的程序可以较轻松地迁移到DELPHI2007版本。Delphi2007也是Delphi程序员很容易上手的晚期版本。从Delphi2009开始起,到现在的DelphiXE3为止,都是unicode版本。String类型映射为UnicodeString而不是AnsiString,Char类型映射为WideChar,PChar类型映射为PWideChar。由于Delphi7.0、2007和2010在界面上乃至功能上的一些变化,
3、所以在动态链接库DLL断点调试上,有较大的变化。在今后几天的时间中,笔者会以三篇文章来分别详细地介绍Delphi7.0、2007和2010这三个版本中的DLL断点调试技术。本篇文章来详细地介绍Delphi2010中的动态链接库DLL断点调试技术。2DELPHI2010的DLL断点设置与DLL调试在DELPHI7.0以及以前的版本中,动态链接库的调试方法如下:点击菜单Run-->Parameters.打开RunParameters窗口,如图1所示。13图1点击菜单Run-->Parameters.打开RunParameters窗口设置图中断点,然后点击F9或者
4、Run—Run来运行宿主程序Delphi2007_Dll_Debug.exe,但发现断点无效,如图2所示:13图2设置断点后,运行宿主程序Delphi2007_Dll_Debug.exe,断点无效点击Project-->Options..,在ProjectOptions窗口中,在DelphiCompiler—Compiling属性页中将Debuginformation设置为True,如图3所示:13图3在DelphiCompiler—Compiling属性页中将Debuginformation设置为True点击Project-->Options..,在Pro
5、jectOptions窗口中,在DelphiCompiler—Linking属性页中将Debuginformation和Includeremotedebugsymbols两项设置为True,如图4所示:13图4将Debuginformation和Includeremotedebugsymbols两项设置为True运行宿主程序Delphi2007_Dll_Debug.exe,断点还是无效,如图5所示:图5运行宿主程序Delphi2007_Dll_Debug.exe,发现断点还是无效13切换到Delphi的DLL工程文件上,点击ctrl+alt+M,跳出一个名叫
6、Modules的窗体来。左上角显示了宿主程序本身及其它所调用的资源。找到动态链接库Magenf_Detail.dll项,发现目录没有指向当前DLL所在的目录。点击鼠标右键,选中菜单项“ReloadSymbolTable…”如图6所示:图6打开Modules属性页,找到Magenf_Detail.dll项,点击鼠标右键,ReloadSymbolTable…重新设置动态链接库Magenf_Detail.dll的位置,选中当前DLL工程Magenf_Detail所在目录的动态链接库Magenf_Detail.dll文件,如图7所示:13图7打开Modules属性页
7、,找到Magenf_Detail.dll项,点击鼠标右键,ReloadSymbolTable…,重新设置它的位置然后切换到Delphi的属性页Magenf_Detail,发现断点生效,如图8所示:13图8点击属性页Magenf_Detail,发现断点生效在Delphi2007_Dll_Debug.exe,输入1和2后点击铵钮“=”,如图9所示:图9在Delphi2007_Dll_Debug.exe,输入1和2后点击铵钮“=”进入DLL断点调试,如图10所示:13图10进入DLL的断点调试1例子中的宿主程序及DLL程序代码-------宿主程序代码-----u
8、nitUDllDebug;interfaceuses
此文档下载收益归作者所有