【发布时间】:2010-09-08 19:02:40
【问题描述】:
作为 IE 6/7 的 JavaScript Profiler 的一部分,我需要将我创建的自定义调试器加载到 IE 中。我在 XP 上运行良好,但无法在 Vista 上运行(全文:http://damianblog.com/2008/09/09/tracejs-v2-rip/)。
在 Vista 上调用 GetProviderProcessData 失败。有人有什么建议吗?
谢谢, 达米安
// Create the MsProgramProvider
IDebugProgramProvider2* pIDebugProgramProvider2 = 0;
HRESULT st = CoCreateInstance(CLSID_MsProgramProvider, 0, CLSCTX_ALL, IID_IDebugProgramProvider2, (void**)&pIDebugProgramProvider2);
if(st != S_OK) {
return st;
}
// Get the IDebugProgramNode2 instances running in this process
AD_PROCESS_ID processID;
processID.ProcessId.dwProcessId = GetCurrentProcessId();
processID.ProcessIdType = AD_PROCESS_ID_SYSTEM;
CONST_GUID_ARRAY engineFilter;
engineFilter.dwCount = 0;
PROVIDER_PROCESS_DATA processData;
st = pIDebugProgramProvider2->GetProviderProcessData(PFLAG_GET_PROGRAM_NODES|PFLAG_DEBUGGEE, 0, processID, engineFilter, &processData);
if(st != S_OK) {
ShowError(L"GPPD Failed", st);
pIDebugProgramProvider2->Release();
return st;
}
【问题讨论】:
标签: c++ debugging internet-explorer windows-vista