如何在V8引擎中获取javascript函数的执行上下文

时间:2015-05-04 07:44:49

标签: javascript v8 executioncontext

我想通过获取JS函数的执行上下文或更具体的范围链来了解JS函数的调用关系。考虑这个例子:

min

我想知道一个JS函数中的每个局部变量和函数声明。我认为JS函数的范围链可能会给我我想要的信息。但我不知道在哪里可以获得V8引擎内部功能的范围链。任何人都可以帮助我吗?非常感谢你!

2 个答案:

答案 0 :(得分:0)

您可以使用(new Error()).stack

console.log((new Error()).stack);

以下是删除误导性“错误”第一行的代码:

var callStackLines = (new Error()).stack.split('\n');
callStackLines.splice(0, 1);
var callStack = callStackLines.join('\n') + '\n';
console.log(callStack);

答案 1 :(得分:0)

在那里你想要看到呼叫序列,你可以简单地调用: console.trace();