无法在Firefox / Firebug中设置与Chrome相同的断点

时间:2011-12-28 17:40:35

标签: firefox firebug

我在外部网站(jshint.com)上调试代码。在Chrome中,我可以在代码中成功设置和捕获大量断点。但是,在Firefox / Firebug(9.0.1 / 1.8.4)中,相同的代码行(实际上是大块代码)无法调试(即,行号不是绿色)。有没有人见过类似的东西并找到了解决方案?

3 个答案:

答案 0 :(得分:1)

我在FF 20.0.1中使用FB 1.11.3b1并注意到了这个问题。甚至在清理JSLint中的代码之后。我所发现的是,FB确实与包含单个花括号的行混淆,紧接着是内联注释:

}
// some comment
// lines after this don't have green line numbers, breakpoints ignored
breakpointable_line = false;

要解决此问题,请用空行分隔

}

// some comment
// lines after this now have green line numbers, all is well with the world
breakpointable_line = true;

答案 1 :(得分:0)

我在FB 14.0.1上看到了与FB 1.10.0(最新版本)相同的问题。我几年前见过这个,我认为这是一个报道的bug并且已修复,但我再次看到它。该问题已报告为:http://code.google.com/p/fbug/issues/detail?id=4646

报告的解决方法是将您的JS文件分解为更小的文件(不是解决Claytoncarney从其他站点调试JS文件的问题)

问题似乎发生在功能结束时。对于可以设置断点的位置(即不在注释或空白行等),您设置单击以设置断点的行号为绿色。但是在某些函数中,函数中的最后几行有一些灰色,而不是行号而不是绿色。绿线数字的末尾似乎对应于代码块的末尾(一个结束的大括号),它不是函数的结尾。

当然,它发生在大型JS文件中,因此很难创建一个重现代码的最小示例。 (我在与基本网页相同的服务器上加载的JS文件中看到它,因此它不仅限于像Claytoncarney所经历的外部网站。)

答案 2 :(得分:0)

在Firefox中,问题是catch语句:

错误

catch {

}

catch(e) {

}
相关问题