首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在谷歌V8中插入JavaScript调用

在谷歌V8中插入JavaScript调用
EN

Stack Overflow用户
提问于 2018-07-26 01:24:35
回答 1查看 279关注 0票数 0

我正在尝试在两个支持GoogleV8的环境(Thug和JS强制执行引擎)中插入JavaScript函数调用。基本上,当我使用JavaScript运行外部提供的HTML文件时,我希望每个API调用都有一行:-调用名-发送到调用的参数(如果有)

我目前可以通过这样的方式为JavaScript全局方法(例如- eval(),decode(),encode())和各种DOM级别的方法(例如- document.createElement())做到这一点:

代码语言:javascript
复制
var old_eval = eval;
function new_eval(foo0)
{
    alert("INSTRUMENTATION: eval," + foo0);
    return old_eval(foo0);
}
eval = new_eval;

我能够在我自己的JavaScript文件中定义这样的方法,然后将该文件合并到V8运行时中。

这对于全局函数来说已经足够好用了,但是对于对象成员访问或者对象级方法(例如- somestring.indexOf())的访问就没有帮助了。

任何帮助都将不胜感激!

EN

回答 1

Stack Overflow用户

发布于 2018-08-01 00:14:02

不直接支持在V8中记录所有函数事件。您有两个选择:

  1. 预先修补所有已知函数/getter/setter(需要完全了解您的代码库)
  2. 修补V8以记录所有函数调用

选项2肯定会有更多的工作。部分支持使用--log-function-events记录函数的第一次执行,但不包括API回调(例如,DOM访问器和某些内置函数)。

在V8中,正确支持对所有函数调用进行日志记录不是一件容易的事情,并且需要修补代码库中的各个位置。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51524559

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档