atl怎么在win7 64位 IE9上调试呢?IDispatch:Invoke会崩溃

atl如何在win7 64位 IE9下调试呢?IDispatch::Invoke会崩溃
我的atl在32位win7下可以正常运行,也可以正常调试(使用的是VS2005和IE8,也在注册表相应项中添加了TabProcGrowth键),但是64位Win7+IE9下,无法调试,在tstcon32.exe容器中可以调试.并且运行到IDispatch::Invoke执行一个回调给上层js的时候,报Cx00000005空指针的错误。代码如下:

try{
if (m_pMyEventHandler)
{
DISPPARAMS dispParams;
VARIANTARG args[2];
VariantInit(&args[0]);
args[0].vt = VT_BSTR;
CComBSTR str(json);
args[0].bstrVal = str.Detach();
// 释放JSON字符串
if(json)
delete[] json, json = NULL;

IDispatch* m_pDisp;

// 获取window对象
HRESULT hRes = this->ExternalQueryInterface(&IID_IDispatch, (void**)&m_pDisp);
if (!SUCCEEDED(hRes)) {
Debug("OnUpdate() Error retrieving window object HR=%lu\r\n", hRes);
} else {
Debug("OnUpdate() Success retrieving window object %lu %ld\r\n", hRes, m_pDisp);
}



VariantInit(&args[1]);
args[1].vt = VT_DISPATCH;
args[1].pdispVal= m_pDisp;
memset(&dispParams, 0, sizeof(dispParams));
dispParams.rgvarg = args;
dispParams.cArgs = sizeof(args)/sizeof(args[0]);
EXCEPINFO excepinfo = {0};   
UINT uArgErr = 0;     
//Debug("OnUpdate() Begin invoking update handler with args %s %d\r\n", args[0].bstrVal, args[1].pdispVal);

//这里崩溃了

HRESULT hr = m_pMyEventHandler->Invoke(*m_pDispId, IID_NULL, LOCALE_SYSTEM_DEFAULT, 
DISPATCH_METHOD, &dispParams, NULL, &excepinfo, &uArgErr);
 
if (!SUCCEEDED(hr)) {
_bstr_t err(excepinfo.bstrDescription);
Debug("OnUpdate() Error invoking update handler HR=%x, xcepinfo=%s, uArgErr=%u\r\n", hr, err, uArgErr);
} else {
Debug("OnUpdate() Success invoking update handler %lu\r\n", hr);
}
VariantClear(&args[0]);
VariantClear(&args[1]);
if(m_pMyEventHandler)
{
m_pMyEventHandler->Release();
//::CoUninitialize();
}

为什么在 IE8下面不崩溃在IE9下会呢? 谢谢了!

------解决方案--------------------
HRESULT hr = m_pMyEventHandler->Invoke(*m_pDispId, IID_NULL, LOCALE_SYSTEM_DEFAULT, 
DISPATCH_METHOD, &dispParams, NULL, &excepinfo, &uArgErr); 

用输出log的方式,找出这行代码里哪个指针为空,然后再往前分析,检查是否某个函数调用失败
------解决方案--------------------
http://social.microsoft.com/Forums/zh-CN/267/thread/d4e30c34-3cdc-448c-9e07-f2785020591c
------解决方案--------------------
varResult
------解决方案--------------------
引用:
引用:
http://social.microsoft.com/Forums/zh-CN/267/thread/d4e30c34-3cdc-448c-9e07-f2785020591c
没看的懂呢,能详细解释一下吗》

这篇文章讨论的结果是啥呀?是能IE9不支持,还是我们的老方法有问题?