First-chance exception in my.exe (WININET.DLL): 0xC0000005: Access Violation.解决办法

First-chance exception in my.exe (WININET.DLL): 0xC0000005: Access Violation.
创建了一个应用程序,使用了CWebBrowser2 控件,相信大家都使用过。
就是插入了一个Active Web控件。 对CWebBrowser2 控件没有太多的控制代码。然后点击执行
COleVariant* pvarURL = new COleVariant(csUrl);
COleVariant* pvarEmpty = new COleVariant;
m_webBrowser.Navigate2( pvarURL, pvarEmpty, pvarEmpty, pvarEmpty, pvarEmpty );
delete pvarURL;
delete pvarEmpty;

问题是在有些机器上,偶尔会出现,程序就挂掉。
First-chance exception in my.exe (WININET.DLL): 0xC0000005: Access Violation.


//出错在系统WININET.dll中
766FBB7D jne 766FBB9A
766FBB7F mov ecx,edi
766FBB81 mov edi,dword ptr [esi+4]
766FBB84 imul edi,ebx
766FBB87 add edi,dword ptr [esi+2Ch]
766FBB8A mov edx,ecx
766FBB8C shr ecx,2
766FBB8F rep stos dword ptr [edi] //出错的代码
766FBB91 mov ecx,edx
766FBB93 and ecx,3
766FBB96 rep stos byte ptr [edi]
766FBB98 xor eax,eax
766FBB9A pop ebx
766FBB9B pop edi

这个问题不是每次都出现,也不是每台机器上都出现。要重现相当困难。所以不好查找。
希望哪位有这方面的经验(使用了CWebBrowser2 控件)可以分享下。给点建议。给点解决方案。本人相当感谢!
操作系统:xp
浏览器:IE6
工具:VC6.0

------解决方案--------------------
没碰到过这样的情况,帮顶
------解决方案--------------------
用过这个玩意。但是从来没有出现过错误啊。
确定是这段导致的崩溃吗?
------解决方案--------------------
查看一下call stack等,看是否跟IE版本等有关
------解决方案--------------------
帮顶
------解决方案--------------------
探讨
谢谢帮顶。其实webbrowser中浏览的是自已的网页。也就是一个搜索网页。搜索是点击外面的按钮导航或者网网页中的按钮导航。
这种情况在开机第一次打开浏览的时候特别容易出现。点击出现
'0x766fbb8f' 指令引用的'0x059a4000'内存。该内存不能为'written'
错误提示框。程序必须中止。也并不一定是我写的代码地方出错。
导航到另一个网页中出现,另一页面还没有显示任何内容。

之后打开这个程序就很难重现这个bug了。

------解决方案--------------------
探讨
引用:
查看一下call stack等,看是否跟IE版本等有关


在release下出问题, 况且是系统dll出问题。
提示框

'0x766fbb8f' 指令引用:
看是否跟IE版本等有关

我也正想知道,ie是否有什么bug,或 cwebbrowser2控件有什么bug.或在什么情况下才会触发这个bug。
希望知道的能告诉我。
我已经找这个bug有一周了,无果。关键是它的不可重现。很难重现。偶尔在开机第一次重现。

------解决方案--------------------
COleVariant* pvarURL = new COleVariant(csUrl);
COleVariant* pvarEmpty = new COleVariant;
m_webBrowser.Navigate2( pvarURL, pvarEmpty, pvarEmpty, pvarEmpty, pvarEmpty );
delete pvarURL;
delete pvarEmpty; 

不用new直接用对象就可以

COleVariant varURL(csUrl);
COleVariant varEmpty;
m_webBrowser.Navigate2( &varURL, &varEmpty, &varEmpty, &varEmpty, &varEmpty);
------解决方案--------------------
从代码上看不出问题。

release版生成PDB文件,在有问题的机器上装windbg调试下看到底在哪里出的问题。
------解决方案--------------------
禁止 IE浏览器里的ADOBE READER LINK HELPER控件
然后重新运行
------解决方案--------------------
这个原因很难搞清楚
因为我在开发过程中也碰到了类似摸名的BUG
仔细测试和分解后发现是ADOBE控件写的不正规导致的,估计N多人用上N个月都无法知道竟然是插件导致的
因此给你这个建议,关闭ADODE开发的所有插件
------解决方案--------------------
我的软件中测试
把浏览器里的ADOBE READER LINK HELPER这个该死的插件禁止掉后
就一切正常了
否则,在IE关闭的时候,会出现 XXXXXXX地方不可读/写这样的错误
不过,和你不同的是
我在程序内插入的IE控件不会出问题,是IE程序中直接点我的连接,在退出后会出现你描述的这样的错误