2011-04-25 88 views
19

我注意到,即使从下拉菜单启用“显示堆栈跟踪错误”,只有发生的错误似乎有痕迹,但是当我这样做时:throw new Error('foo');我看不到任何堆栈跟踪,即使它似乎与控制台中出现的其他错误完全相同,例如iDoNotExist()Firebug没有显示错误的堆栈跟踪?

有什么我失踪?

这似乎也得到了调用console.error('foo');的堆栈跟踪。奇。

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

+0

可能有助于添加哪个版本的Firebug以及您运行的浏览器版本。 – 2011-04-30 14:56:10

+0

Firefox 4,5,6和最新的Firebug 1.7。也许我可以尝试最新的beta 1.7.1bx。 – Tower 2011-05-01 12:36:47

+3

@rFactor,在控制台上检查'显示堆栈跟踪错误' – user960567 2012-05-14 11:40:18

回答

0

我在Firebug 1.7.1b2测试此代码(FF:4.0.1,在WIN7),它表明我堆栈跟踪:

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

function b(){ 
    a() 
} 

b(); 
+1

它没有给我任何堆栈跟踪。 – Tower 2011-05-06 15:28:56

0

你试过:

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

甚至(并不总是工作):

throw 'foo'; 
throw('foo'); 
+0

那里没有堆栈跟踪。即使在Aurora和Firebug 1.8上也没有区别。 – Tower 2011-05-06 15:29:28

20

对于其他人来说这里登陆:

这个问题对我来说是showStackTrace默认设置为false为Firebug。

下面介绍如何启用它:

  1. 转到about:config在Firefox

  2. 更改偏好extensions.firebug.showStackTracefalsetrue值(双击切换值)。

+0

该问题提到,选项*显示堆栈跟踪错误*已经启用,这正好切换该首选项。所以这个答案并不能解决最初的问题。我想这是早期版本的Firebug中的一个错误。 – 2014-11-05 21:23:58

+0

答案可能无法解决最初的问题,但它确实解决了我的问题。 +1 – Lasse 2015-11-24 15:00:11

+1

这是正确的答案 – John 2016-05-31 16:03:39