Ошибка Firebug: setInterval () обратные вызовы прекращаются после продолжения с точки останова - PullRequest
2 голосов
/ 13 марта 2012

Я наткнулся на сбой show-stopper в Firebug, в котором, если точка останова была достигнута в методе обратного вызова JavaScript, а затем выполнение продолжено [F8], все функции обратного вызова, ранее переданные в setTimeout () или setInterval (), больше не будут быть названным.

Эта ошибка была сообщена всем, кто занимается разработкой Firebug еще в марте 2010 года. Официальный случай можно прочитать здесь:

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

Я предполагаю, что, поскольку проблема все еще не была устранена через год, она, вероятно, никогда не будет устранена. Итак, мой вопрос заключается в следующем: знаете ли вы какие-нибудь умные обходные пути для этого сбоя Firebug? Есть ли какой-то запутанный способ заставить события таймера снова запускаться, кроме перезапуска Firefox и / или перезагрузки страницы?

UPDATE:

Чтобы уточнить: Чтобы вызвать сбой, точка останова должна быть расположена в ЛЮБОЙ строке, в ЛЮБОМ обратном вызове события, ЛЮБОМ в программе, ИСКЛЮЧИТЬ ДЛЯ в самом обратном вызове setInterval () / setTimeout ().

1 Ответ

0 голосов
/ 20 января 2014

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

Хонза

...