Windows COM - 如何调试COM服务器

时间:2011-08-12 20:06:20

标签: com

我有一个用完的服务器(用C ++,ATL编写)。在我的一台计算机中,我只需通过在调试器下启动COM,设置断点以及从客户端进程连接到服务器,就可以轻松地调试服务器代码。

在我的另一台计算机上,这不会发生,如果我从启动调试器下启动COM服务器,客户端使用同一服务器的另一个实例,调试服务器的唯一方法是在客户端已经连接到它之后开始了。如何配置?

2 个答案:

答案 0 :(得分:2)

问题在于,当Vista启动com服务器升级时(以便注册表部分在构建结束时进入注册表),COM客户端将启动另一个COM服务器实例(同时他的诚信水平,例如中等而不高)

所以我必须以普通用户身份运行Visual Studio(不以管理员身份运行),并且必须从命令行进行COM注册。

答案 1 :(得分:1)

正常启动您的流程。使调试器在COM客户端的断点处停止。启动另一个Visual Studio实例(我假设您正在运行Visual Studio),并附加到proc服务器进程外。在Visual Studio 2008中,您可以通过在工具菜单中选择附加到进程... 来完成此操作。然后只需选择要调试的进程,然后就可以了。您可能需要手动打开源代码文件以设置断点,因为您没有在原始项目的上下文中进行调试。