COM组件调试手记

程序调试是一个优秀程序员的必备品质。这几天正好在调试一个十分郁闷的大型项目,涉及COM组件,DLL调用等方面的知识,拿出来和大家分享一下吧。

一、项目环境
1.这种调试方法适用于VS2003平台。在其他如VS2005,VS2008等也应该适用,但并未测试。
2.项目的基本结构为:两个独立的工程,一个为COM接口的调用者,我们称为Master工程;另一个为COM接口的实现部分,为一个DLL,我们暂且称为ComImpl.

二、调试前提
1.必须拥有Master和ComImpl工程的源代码。
2.将由源码生成的exe、dll、pdb文件等必须要在同一文件夹下。
3.将VS2003加入到DEP保护的排除列表中,这一步十分重要,否则一旦开始调试,VS2003的IDE就会挂掉。

三、调试步骤
1.使用VS2003打开Master工程,在调用COM接口的代码处地方设置断点,启动调试。
2.等程序在调用COM接口的代码处被中断时,打开VS2003的Debug菜单下Processes对话框,attach到Dllhost.exe,关闭对话框。
3.在Master工程中打开ComImpl工程的源码,设置断点。
4.按F5或F10执行,直到ComImpl中的断点被捕获。

四、总结
实际上整个调试过程还算比较简单的,一般引起无法调试的原因无非是调试前提中的三点没有满足,特别是第三点一般很难有人会想到。

继续阅读COM组件调试手记

淘书

  • Post author:
  • Post category:琐事
  • Post comments:0评论

路过操场,许多即将离校的大四学长正在摆着地摊,出售着四年来伴随他们成长的零碎物品,这其中大多数是书籍,还有衣服玩偶之类。那些陪伴他们走过四年的点点滴滴,都这样渐渐的流传到学弟学妹们的手中,不知道这时的他们是不是还有些不舍呢?

路过时发现一本《基诺之旅》,绘本小说,想起某人高中时很迷恋这个一脸成熟的假小子,于是买了下来。顺便还买了一本EVA的资料设定集和凉宫春日的小说集,算是收获颇丰吧。

PS:某人居然把那本《基诺之旅》当成插画集了,完全无视上面的文字,无语中……

继续阅读淘书