如何在Firefox / Firebug中调试无限循环?

时间:2014-07-28 12:10:13

标签: javascript debugging firefox firebug mozilla

我在Firefox中遇到Firebug问题。当我的JavaScript生成无限循环时,Firefox中会弹出一个弹出窗口,允许继续运行脚本或终止它。

在早期版本的Firefox中,还有一个允许调试脚本的附加选项,但它在当前版本的弹出窗口中不再出现(我使用的是Firefox 31.0)。

使用此选项,Firebug应该停止在无限循环中处理的JavaScript中的某个位置。很可能这种行为可以在Firebug / Firefox中再次激活,但我不知道在哪里?

2 个答案:

答案 0 :(得分:0)

虽然Firefox 31.0中没有此按钮,但它在32.0版本中存在。虽然它不是在Firebug中停止,但它现在使用内置调试器来调试脚本。

背景资料: 在2.0版之前,Firebug使用了Firefox的旧调试器API JSD。在版本高达31.0的Firefox中,只有在启用该API时才显示调试脚本按钮,即为该页面打开Firebug(1.12。*及更早版本)时。

debugger of the built-in devtoolsFirebug 2.0使用新的debugger API,因此按钮绑定到JSD时不会显示。

在Firefox 32.0+中,该按钮与新API一起使用。虽然Firebug(2.0。*)没有挂钩该按钮的逻辑,但它会打开内置调试器。

答案 1 :(得分:0)

当前无法停止挂起的脚本的脚本执行。尽管got removed in Firefox 45曾经有一个调试它们的按钮。

重新添加的增强请求为https://bugzil.la/1157820

对于它的价值,这是一个创建无限循环的简单测试脚本:

data:text/html,<script>while(true){x=1;}</script>

编辑:

Firefox Developer Edition中仍然有一个 Debug Script 按钮,尽管使用上面的简单脚本尝试似乎不起作用(至少在经过测试的版本81.0b9中)。