在Delphi7中调试COM+(转)

原创 2004年08月27日 00:58:00

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

在Delphi7中调试COM+

 开发COM+应用系统最令人头痛的问题便是如何调试 COM+组件了。由于COM+是执行在COM+的执行环境中,因此Delphi 的程序员无法像Delphi的分布式多层应用系统一样可以直接在 De...
  • nciae_zhuying
  • nciae_zhuying
  • 2013年11月24日 16:54
  • 653

初级教程之---delphi调试

一、准备调试       Delphi 在 IDE 内部集成了一个调试器,因而对程序的调试不用离开集成开发环境(IDE)就可以进行。该调试器能够控制程序的运行、监视程序的输出、检查和修改变量的值。 ...
  • sushengmiyan
  • sushengmiyan
  • 2013年03月13日 20:50
  • 10033

Windows程序调试----第三部分 调试技术----第11章 COM调试

第11章 COM调试     调试COM代码对很多开发人员来说是很件令人沮丧的事情,特别是如果你对Windows平台,尤其是COM编程不熟悉的话。成功地解决一个错误常常需要涉及到很多领域的知识和技巧...
  • tiewen
  • tiewen
  • 2013年04月25日 10:15
  • 2659

Delphi三层实例

所谓三层:(1)客户端(2)服务器端(3)数据库   在数据访问时,使得客户端必须通过服务器来访问数据库。提高了系统的安全性。 在Delphi中可以使用Socket或者Dcom来连接他们相互间的...
  • chinajobs
  • chinajobs
  • 2015年04月10日 14:15
  • 1523

纪念经典的 D7(Delphi 7编码转换程序)

很喜欢Delphi 7,以前一直用它写好多有趣的程序,虽然不是专业程序员。 但我很奇怪的是,大家没写一些公用的单元,一起大家交流的,大概觉得写得挺好的代码,几乎都是Google抄的,国内的百度几乎代码...
  • rell336
  • rell336
  • 2014年01月02日 10:10
  • 2428

安装SQL Server2005提示COM+目录要求警告

COM+ 目录要求 假如 SQL Server 安装程序失利,安装程序将回滚所安装地系统,但能够不会删除一切 .manifest 文件。解决方法是重命名这些文件,然后重新运行安装程序。相关具...
  • keepupdreaming
  • keepupdreaming
  • 2013年05月23日 10:33
  • 2070

Delphi 编写COM+组件的知识和样例

一、COM组件的基础知识介绍: 1、什么是COM          COM是微软定的一种组件编写的规范,目的是为了实现组件的重用,不管你是用C、DELPHI、VB什么语言写的,只要遵守这种规范就是...
  • zang141588761
  • zang141588761
  • 2016年04月26日 09:19
  • 1231

delphi初级教程之delphi断点调试二

四、模块断点 要监视模块的第一次加载,可以使用【Run】菜单中的【Add Breakpoint】命令,再选 择【Module Load Breakpoint】,出现【Add Module】对话框...
  • sushengmiyan
  • sushengmiyan
  • 2013年03月14日 20:49
  • 2794

总结一下在VC中调用COM组件的方法+++VC调用远程COM+组件

总结一下在VC中调用COM组件的方法 准备及条件: COM服务器为进程内服务器,DLL名为simpCOM.dll,该组件只有一个接口IFoo,该接口只有一个方法HRESULT SayHel...
  • embededvc
  • embededvc
  • 2014年01月29日 16:00
  • 1784

Delphi 7 精简版在 Windows 8.1 64 位中的安装

精简版选用的是7.3.3.4优化精简适中版,只有40多兆,运行安装后如下所示: 点击确定后会弹出兼容警告,忽略,点确定继续 : 出现安装向导 点击下一步出现许可协议,不用看,点“我同意“”:...
  • MaxWoods
  • MaxWoods
  • 2014年02月25日 13:25
  • 5901
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在Delphi7中调试COM+(转)
举报原因:
原因补充:

(最多只允许输入30个字)