假设你现在正在开发一个COM系统,该系统由两个独立程序组成,一个是COM的服务器(COM Server),这是一个独立的exe程序;另外一个是调用这个COM服务器相关服务的COM客户端(COM Client)。这种场景一般是你希望你的COM服务器可以提供一些自动化(Automation)功能,允许你的用户写一些vbs程序来为你的程序提供一些自动化脚本。 例如Office Excel自己本身是一个独立的程序,但是如果你使用vbs脚本创建自动化程序自动处理数据,生成一些脚本的时候,你会发现Excel是以无窗口的形式启动的。
一般这种系统都是比较难调试的,这是因为一个函数调用需要跨过进程界限,由两个进程合作完成的,而通常情况下我们都只是调试一个进程。Visual Studio 2005以后,提供了一个RPC调试(RPC Debugging)功能,可以在你单步跟进一个远程COM方法调用的时候,自动将调试器附加到远程COM方法所在的进程。通过这种处理,在调试远程COM方法调用时,你就感觉是在调试同一个进程里面的方法。