Javascript backtrace



如何在Javascript中获得回溯?

理想的特点:

  • 入口函数名,或者匿名函数的一些有意义的标识符,
  • 每个级别的参数列表,
  • 行号。

这可以在标准ECMAScript中完成吗?

如果没有,可以在常见的web浏览器方言中完成吗?

谢谢。

编辑——

谢谢你的建议。

我的方言不支持arguments.callerarguments.callee

我可以这样做:

try {
    let x = null;
    x .foo ();
}
catch (e) {
        debug (dump (e.stack));
}

这让我的信息作为一个字符串,这是可以一目了然,但这将是一个很大的帮助走e.stack。它有标准形式吗?

再次感谢。

在我的调试经验中,我总是使用这个

(function () { console.log(new Error().stack); })();

根据下面的评论,读者应该更喜欢:console.log(新的错误().stack);

另一种方法是使用console.trace();

来源:https://developer.mozilla.org/en-US/docs/Web/API/Console/trace

这个lib: stacktrace-js可以在任何地方工作,不仅仅是错误。

的例子:

StackTrace.get()
    .then(stack => { console.log(stack) })
    .catch(err => { console.log(err) });

相关内容

  • 没有找到相关文章

最新更新