转自:http://www.cnblogs.com/zdxster/archive/2011/01/27/1945874.html
这阵子在搞一个activex的项目,发现dll型的输出控件比较难调试,导致我郁闷了几天了,调试不进去的话就定位不到错误,后面的工作就受阻了。试了好多种方法都不行,原来是不了解ie所致的。好像自从4.0以后,ie在我们打开一个网页时,会启动一个主的进程,和一个副进程,ie的调试器只touch到副进程是不行的,还得touch到主进程才可以。这个我也不确定是否正确,不过要使vs调试到activex工程里面去的话,我们还得按照下面的方法做。
第一步:选择activex项目,打开项目属性,在“configuration properties”-> “debugging”中的command 中选择ie浏览器所在位置,一般是C:\Program Files\Internet Explorer\iexplore.exe;在下面的command arguments里面输入你写的html测试页面。
第二步:选择菜单中的“debug“->”start debugging“,或者直接F5;这样调试就开始了,但是我们光这样的话我们调试不进去,我们还需要做下面关键的一步。
第三步:选择菜单中的”debug“->”attacch to process“,在下面的”available processes“中,你可以看到一个ieexplore的进程已被选中,但是还有一个ieexplore进程未被选中,我们选择未被选择ieexplore进程,然后选择”attach“将该进程附加到调试器上,这样我们就能调试activex内部的代码了。