在Delphi7中调试COM+
2006-02-04 13:47:26 来源:WEB开发网在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实现把10进制转换成16进制的函数进制转化
- ››调试SQL server 2008功能设置
- ››Delphi中将字符串按给定字符分隔(似split函数功能...
- ››Delphi 动态创建窗体,锁定窗口赋值
- ››Delphi 与 VC 共享接口和对象
- ››Delphi图像处理 -- 表面模糊
- ››Delphi之多线程实例
- ››Delphi SelectSingleNode的使用 根据节点属性获取...
- ››Delphi接口详述
- ››delphi 远程调试
- ››COM 组件多层聚合嵌套原理
- ››Delphi与DirectX之DelphiX(34): TDIB.Lightness()...
更多精彩
赞助商链接