JavaScript 回溯
如何在 Javascript 中获取回溯?
理想的功能:
- 入口函数名称,或匿名函数的一些有意义的标识符,
- 每个级别的参数列表,
- 行号。
这可以在标准 ECMAScript 中完成吗?
如果没有,可以用常见的网络浏览器方言来完成吗?
谢谢。
编辑--
感谢您的建议。
我的方言不支持 arguments.caller
或 arguments.callee
。
我可以这样做:
try {
let x = null;
x .foo ();
}
catch (e) {
debug (dump (e.stack));
}
它以字符串形式获取信息,这对于一目了然来说是可以的,但是对于遍历 e.stack 会有很大的帮助。它有标准形式吗?
再次感谢。
How to I get a backtrace in Javascript?
Ideal features:
- entry function name, or some meaningful identifier for anonymous functions,
- argument list at each level,
- line numbers.
Can this be done in standard ECMAScript?
If not, can it be done in the common web browser dialects?
Thanks.
Edit --
Thanks for your suggestions.
My dialect doesnot support arguments.caller
or arguments.callee
.
I can do this:
try {
let x = null;
x .foo ();
}
catch (e) {
debug (dump (e.stack));
}
Which gets me the information as a string, which is okay for at-a-glance, but it would be a great help to walk e.stack
. Does it have a standard form?
Thanks again.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
在我的调试经验中,我总是使用这个
正如下面的评论所建议的,读者应该更喜欢:
In my debugging experience, I always use this
As the comments below suggested, the readers should prefer:
另一种方法是使用
console.trace();
来源: https://developer.mozilla.org/en-US/docs/Web/API/Console/trace
Another way is to use
console.trace();
source: https://developer.mozilla.org/en-US/docs/Web/API/Console/trace
这个库:stacktrace-js可以在任何地方工作,而不仅仅是出现错误。
例子:
This lib: stacktrace-js works anywhere, not only with errors.
Example: