COM技术虽然已经不被Microsoft推荐,我还是简单记录一下怎样调试COM组件。
跟调试普通的dll差不多,有一点区别。
1. 创建COM组件
现在利用VS去创建COM组件是很容易的,可以利用C++/VC++ 或者C#,淡然C#去编写COM组件还是比较少的,本例用VC++编写。
2. 创建客户端调用COM组件。
我们在创建COM组件之后,往往是为了给第三方去调用的,这个时候客户端没有我们的code,只有我们的dll和使用说明。这时候第三方在调用COM组件的时候可能有特殊的case,需要我们去定位问题或者修改bug.
3. 调试COM组件
在第三方客户端反馈给我们问题的时候,我们需要今天code 调试,通过下面方式进行简单的调试,
3.1 编译一个debug version COM组件,并进行注册,
3.2 运行Client的application 或者自己编写的模拟client,
3.3 利用VS 打开COM组件的Code,
3.4 attach COM project 到client(模拟),如果是C#要打开 support native debug.
这样在客户端在调用COM的时候就会进入code,可以进行调试。
如果是客户端启动时就需要调用COM, 则在VS里面 在debug下面设置外部启动程序,设置成client的路径,然后直接F5启动调试。
从以上的步骤看出,COM组件调试和普通的dll调试基本一致,除了注册一步。