2014-08-29 119 views
-1

我通常使用Firebug进行开发,但最近我的一些脚本一直在默默地失败。经过几个小时追踪错误,我发现我试图获得一个未定义变量的属性。控制台没有错误,页面刚刚“爆发”。但是,在Chrome DevTools中,它可以正确识别错误。这里是一个简单的测试案例:为什么Firebug未显示未定义属性的“未捕获类型错误”?

var x = { 
    i: {a:1,b:2} 
} 

在Chrome中你得到

console.log(x.i.a); //1 
console.log(x.iii.a); //Uncaught TypeError: 
         //Cannot read property 'a' of undefined 
console.log('finished'); //does not execute 

在Firebug中你得到

console.log(x.i.a); //1 
console.log(x.iii.a); //(nothing) 
console.log('finished'); //does not execute 

看到这个Fiddle

因此,在一个真实的脚本中,当发生这种情况时,我非常难以跟踪脚本停止的位置,为了缩小错误,我必须添加大量的控制台日志记录。

这是一个错误,或者某种程度上的萤火虫的预期行为,或者可能有一个我可以调整的设置?我正在使用2.0.3。

+0

本机Firefox调试器显示错误就好了。 – epascarello 2014-08-29 19:29:22

+0

萤火虫接管正常控制台(http://stackoverflow.com/questions/8212373/firefox-web-console-disabled),所以我不能使用它,也不想。 – chiliNUT 2014-08-29 20:37:46

+0

这并不坏...... :)如果你认为它是一个错误,请用Firebug编写一个错误。 – epascarello 2014-08-29 20:40:53

回答

1

您需要检查选项Console panel options menu内显示JavaScript错误

Show JavaScript Errors option

正如你所看到的,这使得控制台登录正确的错误消息。

相关问题