在Delphi7中调试COM+

来源:互联网 发布:怎么在淘宝上卖qb 编辑:程序博客网 时间:2024/06/06 11:47

======================================================
注:本文源代码点此下载
======================================================

开发com+应用系统最令人头痛的问题便是如何调试 com+组件了。由于com+是执行在com+的执行环境中,因此delphi 的程序员无法像delphi的分布式多层应用系统一样可以直接在 delphi 的ide 中设定应用程序服务器的断点来调试。

事实上, delphi 仍然可以在 delphi 的集成开发环境中调试 com+组件,也可以让程序员在集成开发环境中在com+组件的程序单元中设定断点,然后执行客户端应用程序调用 com+组件。此时 delphi 便会把执行控制权带到delphi 的集成开发环境中,并且暂停在程序员设定的断点上让程序员开始调试。从此开始,程序员就可以像调试一般的应用程序一样来调com+组件了。不过要如此调试com+组件,程序员必须先做一些设定。

1、在delphi 的集成开发环境中激活要被调试的 com+ 组件项目,点projects|options 菜单,在弹出的对话框中选择linker页,选中其中的include td32 info 和 include remote debug symbol ;

2、点 run|install com+ objects菜单,注册com+组件,最好是注册到新的应用程序,也可以注册到已有的应用程序(这个应用程序需要是由delphi 的注册com程序产生的)。

3、运行win2000的 控制面板|管理工具|组件服务,在com+应用程序中找到刚才com注册的应用程序,点右键,选择“属性”菜单,在弹出的对话框中,选择“高级”页,选中其中的“在调试器中启动”选项,在下面的调试路径中会有类似如下的内容:"c:\program files\borland\delphi7\bin\bordbg70.exe" dllhost.exe /processid:{9cec476d-83a5-4c2b-aff1-3e83a147b866}

4、回到delphi的集成开发环境,点选run|parameters 菜单,在对话框中,hostapplication设为:c:\winnt\system32\dllhost.exe ,(要根据你的操作系统安装情况设定)。 parameters 设为:

/processid:{9cec476d-83a5-4c2b-aff1-3e83a147b866};这个guid的值要和win2000组件服务中的属性值一致,可以从那边直接copy过来。

5、设置断点,在delphi的集成开发环境中运行com;

6、在windows中(或新开的delphi环境中)运行调用这个com的客户端程序。

这时会发现,delphi开发环境中的com停在断点处了,就可以接下来单步跟踪调试了。


======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
原创粉丝点击