首页 > 编程 > Delphi > 正文

在Delphi7中调试COM+

2019-11-18 18:22:58
字体:
来源:转载
供稿:网友

                                         Delphi7中调试COM+

                                                                             刘晓明(Cipher)收集整理

       开发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停在断点处了,就可以接下来单步跟踪调试了。

 


上一篇:Delphi背后---初学者参考之二(2)

下一篇:在Delphi中如何维护COM+的状态信息

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
学习交流
热门图片

新闻热点

疑难解答

图片精选

网友关注