做了几个月的ActiveX开发,每次需要查看哪一步的执行结果都用MessageBox。虽然也可以看到结果,但是使用时要添加打印信息,而且用完后有要删掉,相当麻烦。今日,有幸的大神指点,使用更简便的调试方法。记录下,以免忘记。
一般ocx没办法直接运行,依赖ocx容器(ie浏览器或者普通客户端程序),也就没办法像调试普通程序那样直接设断点来调试。不过利用VS2010强大的调试功能,办法还是有的。下面以嵌入IE浏览器的ocx调试为例,介绍VS2010强大的调试功能。
一、注册编译好的ocx,运行web客户端程序(打开IE浏览器,输入指定IP,就跳转到刚才注册的ocx程序页面)
二、打开Windows任务管理器,查找运行ocx的IE浏览器进程(注:IE是多进程)的进程ID,不要找错了,否则,没办法调试。
三、点击VS2010菜单Debug >> Attach to Process...,如图
找到Available Processes列表中进程ID与第二步中进程ID相同那一项,点击Attach。
四、在需要调试的地方,设置断点,然后就可以像调试普通程序一样,执行单步调试了。
如有不对的地方欢迎大家指正,或者大家有更好的方法请分享一下。