如何调试com+?(100分)

  • 主题发起人 主题发起人 lmeiing
  • 开始时间 开始时间
L

lmeiing

Unregistered / Unconfirmed
GUEST, unregistred user!
请给出详细的说明!
 
首先确保安装的Com+组件属性中高级页中“在调试器中启动”选为使能。
然后保证delphi project options 的linker页中的include TD32 debug info 和
include remote debug symbols被选中。
最后在run parameters 的host application中选中宿主程序
C:/WINNT/system32/DLLHOST.EXE
parameters中填入
/ProcessID:你的应用程序id //该id 在com+属性页中可以找到。
运行即可。
 
李维书中的方法可行,建议看看
调试方法:
1)先安装到一个套件中,
“元件服务”中先把这个套件停止服务
在套件上选 内容-> 进阶->选中“在除错程式中启动”,并记下那个
ProcessID,如{EB196E4F-5B5B-4432-912C-DB59E4FCE133}
2)在Delphi中使要调试的DLL激活,保证delphi project options
的linker页中的include TD32 debug info 和include remote debug symbols被选中
在 run ->paramters
Host : you win2000 system../WINNT/system32/dllhost.exe
paramters : /ProcessID:{EB196E4F-5B5B-4432-912C-DB59E4FCE133} //刚才记下的那个
3)在DLL中设置断点,F9运行
4)再运行你的客户程序,即EXE,当执行到那个断点时,会Stop了
应该可以了吧
可以mailme :vine3@163.net
 
怎么会出现“服务器运行失败”错呢?
 
我有Exe形态的自动化服务器,在Client中调用其公布的接口,请问如何高度那个Exe形态的服务器呢?
楼上的方法好像不行,那样只能调试Dll形态的。
 
EXE形态的服务器还要怎么特殊的调试吗?直接设上断点运行起来,客户端调用的时候就会
自动进入断点,比调试进程内组件(DLL)简单多了。
 
我的就是dll形态的阿
 
你的组件里没有正确加入角色和用户!
 
^_^,同意。
 
需要怎么做?
 
我用的交互式用户-目前已登录的用户
 
你先在本机上调试,不会遇到权限问题的,权限问题要发布到不同的机器上时才会遇到。关
于权限问题,也就是常说的DCOM配置问题,关于此方面的贴子真是数不胜数,不想再重复了。
各位有空的话看一下我的问题:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1592263
 
我现在就在本机上调试!
 

不知道你调试的是不是李维书中第八章的例子?
首先你要建一个建一个角色加到这个套件中,
然后在你要用到的组件中的组件、接口、方法层次上都要允许这个角色来存取
麝香设置完后要先停止这个套件再启动客户程序呵!
 
谢谢Sachow,你说这人有时咋就爱钻牛角尖呢?哎,不说了,呵,再次感谢!!!
 
调试COM+
1.进入组件服务中,选择要调试的COM+应用程序(如BDE-MTS),它里面的内容
肯定包含了你的COM+组件。右击应用程序(如BDE-MTS),进入属性页,选
择“高级”那一页,在调试器中启动那一项打上钩,
2,调试嚣路径后不是有路径字符吗?选择复制最后一段:
如 /ProcessID:{2FC9B93D-C430-4106-8712-2DEA38E3CCC5}
3。进入COM+源程序中,选择RUN--Parameters ,弹出一个窗品
在host Application中填入DllHost.exe的运行路径:如C:/WINNT/system32/DLLHOST.EXE
在Parameters中粘贴刚才复制的一段:/ProcessID:{2FC9B93D-C430-4106-8712-2DEA38E3CCC5}
OK.
运行程序时,请先运行COM+源程序!
好了,终于说完了。
 
已经可以调试了,谢谢各位!
 
多人接受答案了。
 
学习。。
 
后退
顶部