VC6.0编写的Activex控件在IE7、IE8上调试

Step1 VC设置

1.需要将可执行程序设置成IE浏览器(Executable for debug session栏)。也可以通过单击右边的按钮(红色圈起的地方),在弹出的菜单项中选择Default Web Browser,Executable for debug session栏将自动填上默认浏览器。显然,前提是默认浏览器是IE。当然,其他基于IE的浏览器也可以调试,至于FireFox和Chrome等基于Webkit的浏览器就不是很清楚了。

2.在Program arguments栏填上网址,如下图的http://192.100.19.85

图1 VC中Activex调试设置

Step 2 IE的设置

1.安全设置,包括本地和可信任站点的安全设置

图2 IE安全设置

2.设置成可调试状态,去掉如下图所示的两个禁用调试的勾选(好像在IE8中,无论是否勾选都可以调试)

图3 启用调试

Step3 调试

按下Ctrl+F5即可开始调试。

常见问题

1.IE7/IE8还是无法调试

这是因为IE7和IE8都新增了一个安全特性——保护模式以及IE8的多进程。

去掉保护模式(在高级选项卡中)。如果去掉了保护模式还是无法调试,可以参考下面的建议:

 1) 尝试附加到已打开的IE进程(图4)。如果继续不满足要求,只能在代码里面加上 DebugBreak() 主动启动调试器。DebugBreak好像会崩溃。

 2)修改注册表禁用 IE8 的多进程机制:

  为注册表项HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Internet Explorer/Main添加一个名称为 TabProcGrowth ,类型为 DWORD, 值为 0 的字段

posted @ 2010-03-31 12:01  山里的鱼  阅读(2779)  评论(2编辑  收藏  举报