Невозможно установить те же точки останова в Firefox/Firebug, что и в Chrome.

Я отлаживаю код на внешнем сайте (jshint.com). В Chrome я могу успешно устанавливать и перехватывать множество точек останова в коде. Однако в Firefox/Firebug (9.0.1/1.8.4) одни и те же строки кода, фактически огромные куски кода, не могут быть отлажены (а именно, номера строк не зеленого цвета). Кто-нибудь видел что-то подобное и нашел решение?


person claytoncarney    schedule 28.12.2011    source источник


Ответы (3)


Я использую FB 1.11.3b1 в FF 20.0.1 и заметил эту проблему. Даже после очистки кода в 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;
person Peter Brand    schedule 14.05.2013
comment
Я зарегистрировал проблему с сайтом FireBug, и они ответили, что собираются заменить базовый код синтаксического анализа, который должен решить проблему (ы). Ждите следующего выпуска. - person Peter Brand; 15.07.2013

Такую же проблему вижу на ФФ 14.0.1 с ФБ 1.10.0 (совсем свежие версии). Я видел это пару лет назад, я думал, что это ошибка, о которой сообщалось, и она была исправлена, но я вижу это снова. О проблеме сообщается следующим образом: http://code.google.com/p/fbug/issues/detail?id=4646

Обходной путь, о котором сообщается, состоит в том, чтобы разбить ваш JS-файл на более мелкие файлы (не решение проблемы Claytoncarney, отлаживающей JS-файлы с других сайтов).

Проблема возникает в конце functions. Номера строк, где вы устанавливаете точки останова щелчком мыши, выделены зеленым для мест, где вы можете установить точки останова (т. е. не в комментариях или пустых строках и т. д.). Однако в некоторых функциях некоторое количество последних строк в функции имеют серый цвет, а не номера строк, а не зеленый. Конец номеров зеленых строк, по-видимому, соответствует концу блока кода (закрывающая фигурная скобка), который не является концом функции.

Конечно, это происходит с большими файлами JS, поэтому сложно создать минимальный пример, воспроизводящий код. (Я вижу это в файлах JS, загруженных с того же сервера, что и базовая веб-страница, поэтому он не ограничивается внешними сайтами, как это испытал Клейтонкарни.)

person Ribo    schedule 28.07.2012

в Firefox проблема заключается в операторе catch:

неправильный

catch {

}

Правильно

catch(e) {

}
person riiot_N    schedule 18.01.2019