【发布时间】:2014-06-26 10:55:34
【问题描述】:
我正在玩 IE 的 JavaScript Chakra 引擎。
我有downloaded example code from MSDN,当我只有函数 ID 和脚本 ID 时,我正试图弄清楚如何获取函数源。
我开始分析我的 js 脚本,从分析器 (IActiveScriptProfilerCallback2) 输出中我可以看到编译了哪些函数,调用了...
例如,FunctionCompiled 的回调如下所示。我得到了函数 id 和脚本 id,甚至函数名,但我不知道如何找到函数源代码。
HRESULT Profiler::FunctionCompiled(PROFILER_TOKEN functionId, PROFILER_TOKEN scriptId, const wchar_t *pwszFunctionName, const wchar_t *pwszFunctionNameHint, IUnknown *pIDebugDocumentContext)
{
fwprintf(stdout, L"Profiler::FunctionCompiled: 0x%lx, 0x%lx, %s, %s\n", scriptId, functionId, pwszFunctionName, pwszFunctionNameHint);
return S_OK;
}
【问题讨论】:
-
你有一个非空的 pIDebugDocumentContext 吗?
-
有时是,有时不是。但似乎它仅在初始化期间为 NULL,所以也许我可以使用它。我现在正在尝试,但仍然必须更好地检查 EnumCodeContexts 方法。似乎以某种方式我可以在那里找到函数源。任何帮助表示赞赏:)
标签: c++ internet-explorer com iactivescript