delphi 2007 动态链接库dll断点调试

delphi 2007 动态链接库dll断点调试

ID:1480369

大小:700.00 KB

页数:11页

时间:2017-11-11

delphi 2007 动态链接库dll断点调试_第1页
delphi 2007 动态链接库dll断点调试_第2页
delphi 2007 动态链接库dll断点调试_第3页
delphi 2007 动态链接库dll断点调试_第4页
delphi 2007 动态链接库dll断点调试_第5页
资源描述:

《delphi 2007 动态链接库dll断点调试》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、DELPHI2007动态链接库DLL断点调试马根峰(广东联合电子服务股份有限公司,广州510300)1Delphi几个经典版本简介Delphi从1995年的1.0版本,发展到现在的最新的XE3版本,历经N多版本,但最为经典的几个版本个人觉得应属7.0、2007和2010。Delphi7.0应该是Delphi用户最多的版本。Delphi2007是功能就不多说了,归根结底一句话,它是AnsiString的最后一个版本,在Delphi2007中,string类型映射为AnsiString,char类型映射为AnsiCha

2、r,Pchar类型映射为PAnsiChar。所以DELPHI低版本的程序可以较轻松地迁移到DELPHI2007版本。Delphi2007也是Delphi程序员很容易上手的晚期版本。从Delphi2009开始起,到现在的DelphiXE3为止,都是unicode版本。String类型映射为UnicodeString而不是AnsiString,Char类型映射为WideChar,PChar类型映射为PWideChar。由于Delphi7.0、2007和2010在界面上乃至功能上的一些变化,所以在动态链接库DLL断点调试

3、上,有较大的变化。在今后几天的时间中,笔者会以三篇文章来分别详细地介绍Delphi7.0、2007和2010这三个版本中的DLL断点调试技术。本篇文章来详细地介绍Delphi2007中的动态链接库DLL断点调试技术。2DELPHI2007DLL断点设置与DLL调试在DELPHI7.0以及以前的版本中,动态链接库的调试方法如下:点击菜单Run-->Parameters.打开RunParameters窗口,在Hostapplication中选中宿主程序,如图1所示。11图1打开RunParameters窗口,在Host

4、application中选中宿主程序设置图中断点,然后点击F9或者Run—Run来运行宿主程序Delphi2007_Dll_Debug.exe,但发现断点无效,如图2所示:11图2设置断点后,运行宿主程序Delphi2007_Dll_Debug.exe,断点无效点击Project-->Options..,在ProjectOptions窗口中,点击Compiler,选中Debuginformation,如图3所示:11图3在ProjectOptions窗口中,点击Compiler,选中Debuginformation

5、点击Project-->Options..,在ProjectOptions窗口中,点击Linker,可以看到IncludeTD32debugInfo和Includeremotedebugsymbols两项为非选中状态,如图4所示:11图4IncludeTD32debugInfo和Includeremotedebugsymbols两项为非选中状态。选中IncludeTD32debugInfo和Includeremotedebugsymbols,如图5所示:图5选中IncludeTD32debugInfo和Includ

6、eremotedebugsymbols。11然后点击F9或者Run—Run来运行宿主程序Delphi2007_Dll_Debug.exe,但发现断点生效,如图6所示:图6运行宿主程序,发现断点生效在Delphi2007_Dll_Debug.exe,输入1和2后点击铵钮“=”,如图7所示:11图7在Delphi2007_Dll_Debug.exe,输入1和2后点击铵钮“=”进入DLL断点调试,如图8所示:图8进入DLL的断点调试111例子中的宿主程序及DLL程序代码-------宿主程序代码-----unitUDll

7、Debug;interfaceusesWindows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,Dialogs,StdCtrls,ExtCtrls,Buttons,Contnrs,ActiveX,StrUtils;typeTDll_Add=function(int_1,int_2:integer):integer;stdcall;TfrmDllDebug=class(TForm)Edit1:TEdit;Edit2:TEdit;Label1:

8、TLabel;Edit3:TEdit;BtnAdd:TButton;procedureFormCreate(Sender:TObject);procedureFormClose(Sender:TObject;varAction:TCloseAction);procedureBtnAddClick(Sender:TObject);private{Private

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。