Firebug 没有显示错误的堆栈跟踪?

发布于 2024-11-03 04:08:39 字数 358 浏览 4 评论 0原文

我注意到,即使从下拉列表中启用了“显示带有错误的堆栈跟踪”,也只有发生的错误似乎有痕迹,但是当我这样做时:throw new Error('foo' ); 我没有看到它的任何堆栈跟踪,尽管它在控制台中的显示方式似乎与发生的其他错误(例如 iDoNotExist())完全相同。

我有什么遗漏的吗?

我似乎还获得了调用 console.error('foo'); 的堆栈跟踪。奇怪的。

应该注意的是,当执行 throw new Error('foo'); 时,Webkit Inspector 和 Opera 上确实会出现堆栈跟踪。

I have noticed that even with "show stack trace with errors" enabled from the drop down, only errors that occur seem to have traces, but when I do: throw new Error('foo'); I do not see any stack trace for it even though it seems to appear in the console exactly the same way as other errors that occur such as iDoNotExist().

Is there something I am missing?

It also seems that I get the stack trace for calling console.error('foo');. Odd.

It should be noted that stack traces do occur on Webkit Inspector and Opera when doing throw new Error('foo');.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

霞映澄塘 2024-11-10 04:08:39

对于其他登陆此处的人:

对我来说,问题是 Firebug 默认情况下将 showStackTrace 设置为 false。

启用它的方法如下:

  1. 在 Firefox 中转到 about:config

  2. 更改首选项的值 extensions.firebug.showStackTracefalsetrue(双击切换值)。

For others landing here :

The issue for me was showStackTrace is set to false by default for Firebug.

Here's how to enable it :

  1. Goto about:config in Firefox

  2. Change the value of the preference extensions.firebug.showStackTrace from false to true (Double-click toggles the value).

寄离 2024-11-10 04:08:39

我在 Firebug 1.7.1b2(FF:4.0.1,在 win7 上)中测试了这段代码,它显示了堆栈跟踪:

function a(){
    throw new Error('s');
};

function b(){
    a()
}

b();

I tested this code in Firebug 1.7.1b2 (FF: 4.0.1, on win7) and it shows me stack trace:

function a(){
    throw new Error('s');
};

function b(){
    a()
}

b();
起风了 2024-11-10 04:08:39

您是否尝试过:

var err = new Error();  
err.name = 'My custom error';
err.message = 'foo';  
throw(err);

或者甚至(并不总是有效):

throw 'foo';
throw('foo');

Have you tried:

var err = new Error();  
err.name = 'My custom error';
err.message = 'foo';  
throw(err);

Or even (doesn't always work):

throw 'foo';
throw('foo');
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文