怎样在VC++下调试COM对象

怎样在VC++下调试COM对象

 

调试进程外服务(Debugging Out-Of-Process Server

  因为服务的方法和事件的实现要靠客户来触发,所以调试服务必须要先启动客户程序。

方法一

     1. Project àSettingDebug Tab上输入客户程序;

     2. 在服务程序代码中设置断点既可调式。

方法二:(在客户工程中启动调试任务)

     1. 打开客户工程,设置为Debug编译模式;打开JIT Jst-In-Time )选项。

        [ ToolàOptionàDebug Tab] 选定 "Just-In-Time Debugging "

        "OLE RPC Debugging" 选项。

 

    

    2. 在代码中,调用服务的那行代码处设置断点,启动Debugger运行客户程序;

    3. 当调试在断点处(调用服务处)停止时,跟进(Setp Into)调用,如果你的应用

       程序连到了MFCVC会自动打开进入到正确合适的代码处;

    4. 用步进( Step Over )调试直至出现汇编,在客户stub DLL的开始处标记;

    5. 继续运行通过StubProxy单步调试,当步进到服务的方法时,VC会自动启动

       debugger的另一个实例。

 

< 参见MSDN  "HOWTO:Debug OLE Application >

 

Debug the Message ActiveX Control

    [Project àSetting à Debug Tab,在"Executable For Debug Session" 的中选

    择合适的程序]

 

调试远程对象(Debug Remote Object

 

Attaching the Debugger to a Remote Process

 

    1. 打开客户程序,设置好断点;

    2. Debugge运行程序直至触发断点,确定此此时对象在服务方已被激活;

    3. 在组件所在的机子上启动VC,激活Attach To Process命令,从弹出的进程列表

        框中选择组件或她的Surrogate,使Debugger吸附到对象的进程中。

    4. VC环境中打开组件源代码,设置好断点;

    5. 在客户端,恢复运行程序,当远程对象运行到断点时,停止。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值