Firebug错误:setInterval()从断点继续后回调停止

Firebug Error: setInterval() Callbacks Cease after Continue from Breakpoint

本文关键字:继续 回调 断点 错误 setInterval Firebug      更新时间:2023-09-26

我在Firebug中偶然发现了一个show stopper小故障,如果JavaScript回调方法中出现断点,随后继续执行[F8],则之前传递给setTimeout()或setInterval()的任何回调函数都将不再被调用。

早在2010年3月,就有人向负责Firebug开发的人员报告了这个bug。你可以在这里阅读官方案例:

http://code.google.com/p/fbug/issues/detail?id=2894

我认为,由于这个问题在一年后仍未得到解决,它可能永远不会得到解决。所以我的问题是:你知道这个萤火虫故障有什么聪明的解决办法吗?除了重新启动Firefox和/或重新加载页面之外,还有什么复杂的方法可以让计时器事件再次启动吗?

更新:

澄清一下:为了触发故障,断点必须位于程序中的ANY行、ANY事件回调、ANYWHERE上,setInterval()/setTimeout()回调本身除外。

Firebug 1.12.6修复了问题1830(2894的副本)

https://blog.getfirebug.com/2014/01/20/firebug-1-12-6/

当Firebug的调试器暂停时,所有运行超时(和间隔)现在都会暂停。您可以在这里使用在线测试用例(和Firebug 1.12.6)来检查这种行为:

https://getfirebug.com/tests/manual/issues/1830/firebug-async-breakpoint.htm

Honza