如何:调试 COM+ 1.0 组件

http://msdn.microsoft.com/zh-cn/library/ya4xb00s
Visual Studio 2005

本主题适用于:

Visual Studio 版本

Visual Basic

C#

C++

J#

速成版

本机

标准版

本机

专业团队版

本机

Note注意

显示的对话框和菜单命令可能会与“帮助”中的描述不同,具体取决于您的当前设置或版本。若要更改设置,请在“工具”菜单上选择“导入和导出设置”。有关更多信息,请参见 Visual Studio 设置

在 Visual C++ 中,可以创建支持 COM+ 1.0 组件的 ATL 项目。若要在 Visual Studio 中调试 COM+ 组件项目,需要附加到 DLLHOST.EXE 进程。下面的步骤假定您有一个作为服务器的 COM+ 组件和一个使用此 COM+ 组件服务器的客户端项目。这两个项目位于同一 Visual Studio 解决方案中。

若要调试 COM+ 1.0 组件

  1. 生成此 COM+ 组件(如果您尚未进行此操作)。

  2. 启用多次启动。

    1. 在“解决方案资源管理器”中,右击解决方案并单击快捷菜单上的“属性”。

    2. 在<解决方案名称>“属性页”对话框中,扩展“通用属性”节点,并选定“启动项目”。

    3. 单击“多个启动项目”按钮。

    4. 在“项目”网格中,对客户端项目和组件项目两者都在“操作”列中选定“启动”。

    5. 单击“确定”。

  3. 获取 COM+ 组件的应用程序 ID。

    1. 在“开始”菜单中单击“控制面板”。

    2. 在“控制面板”中双击“管理工具”。

    3. 在“管理工具”窗口中双击“组件服务”。

    4. 在“组件服务”窗口中,打开“组件服务”节点并持续打开直到达到“COM+ 应用程序”文件夹。

    5. 打开“COM+ 应用程序”文件夹并查找您的 COM+ 组件的节点。

    6. 右击与 COM+ 组件节点对应的节点,并单击快捷菜单上的“属性”。

    7. COM+ component“属性”对话框中,查找应用程序 ID,它可能如下所示:

      Application:      {3D14228C-FBE1-11D0-995D-00C04FD919C1} 
    8. 复制应用程序 ID 并单击“取消”。

  4. 设置该 COM+ 组件项目以在 DLLHOST.EXE 下附加到组件。

    1. 在“解决方案资源管理器”中,右击组件项目并单击快捷菜单上的“属性”。

    2. 在<项目名称>“属性页”对话框中,打开“配置属性”文件夹并选定“调试”类别。

    3. 在“命令”框中,键入如下内容:

      dllhost.exe 
    4. 在“命令参数”框中,键入参数 /ProcessID,继之以应用程序 ID。例如:

      /ProcessID:{3D14228C-FBE1-11D0-995D-00C04FD919C1} 
    5. 单击“确定”。

    6. 关闭“组件服务”窗口。

      Note注意

      对于注册此组件的每台计算机,应用程序 ID 都是唯一的,因此如果以后在其他计算机上调试此组件,将需要重复执行这些步骤。

    现在可以设置断点,启动调试器,然后开始调用组件。如果正在使用事务,则可能还需要增加事务超时(默认为 60 秒)。还可以将值指定为 0,从而有效地指定无限的事务超时时间。

更改超时值

  1. 从“开始”菜单上单击“设置”,然后单击“控制面板”。

  2. 在“控制面板”中双击“管理工具”。

  3. 在“管理工具”窗口中,双击“组件服务”,然后打开“组件服务”节点继之以“计算机”文件夹。

  4. 在“计算机”文件夹中,右击“我的电脑”,单击快捷菜单中的“属性”。

  5. 在“我的电脑属性”对话框中,选择“选项”选项卡。

  6. 在“事务超时(秒)”框中,编辑超时值。

  7. 单击“确定”。

  8. 关闭“组件服务”窗口。

    当完成调试时,应该关闭您正在调试的 COM+ 应用程序。如果仍有服务器进程在运行,则在下次试图生成 DLL 时,若现有的 DLL 仍然加载在内存中,可能收到错误信息。

关闭作为服务运行的 COM+ 应用程序

  1. 在“开始”菜单上,单击“设置”,然后单击“控制面板”。

  2. 在“控制面板”中双击“管理工具”。

  3. 在“管理工具”窗口中双击“组件服务”。

  4. 在“组件服务”窗口中,选择“本地计算机上的服务”。

  5. 在“本地计算机上的服务”列表中,右击服务名并从快捷菜单中单击“停止”。

  6. 关闭“组件服务”窗口。

请参见

其他资源
ATL 调试技术
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值