Как проходить построчно при отладке JavaScript с помощью Opera Dragonfly? - PullRequest
1 голос
/ 24 октября 2011

Я давно пользуюсь Opera как браузером для общего пользования, и из-за различных неприятностей с Firefox я решил взглянуть на Dragonfly .Первое, что бросилось в глаза, это то, что при отладке JavaScript я не могу просто шаг за шагом перебирать свой скрипт.

Я использую ASP.NET, а мой скрипт - просто событие нажатия кнопки,Когда я ставлю свою точку останова на первую строку функции и нажимаю кнопку, точка останова попадает, как и ожидалось.Именно здесь я запутался.Окно стрекозы имеет четыре кнопки в левом верхнем углу - «Продолжить», «Шаг вперед», «Шаг вперед» и «Шаг вперед».Если я нажму кнопку «Over Over» или нажму «F10», я ожидаю, что отладчик будет проходить через JavaScript точно так же, как Firebug, но вместо этого он, похоже, сразу же пропускает всю остальную функцию.То же самое происходит, если я нажимаю Продолжить или нажимаю F8.Если я нажимаю Step Into или нажимаю F11, я начинаю спускаться в jQuery JavaScript, который явно не тот, что я хочу!

Я просто упускаю что-то фундаментальное здесь?Я использую Opera 11.52, если это поможет.

Просто чтобы добавить больше информации о среде, в которой я работаю, Вот скриншот моего события нажатия кнопки с точкой останова, установленной в строке 14. Выполнение приостанавливается какожидается, когда я нажму на кнопку в браузере.

enter image description here

Теперь я ожидаю, что существует какое-то нажатие клавиши, которое просто приводит меня к строке # 15.В Firebug и IE Dev Tools это нажатие клавиши F10.В Dragonfly F10, похоже, просто пропускает оставшуюся часть кода JavaScript.То же относится и к Shift + F11.F11 сам по себе подводит меня к этой части jquery.js, которая, как упоминалось ранее, не там, где я хочу быть.

enter image description here

Ответы [ 2 ]

1 голос
/ 11 ноября 2011

это ошибка в Opera, которая иногда вызывает проблемы при переходе или отключении функций с помощью отладчика Dragonfly.

Единственный обходной путь - установить точку останова ниже функции, которую вы хотите перешагнуть, использовать F10, очистить точку останова и продолжить в обычном режиме. Например, на первом скриншоте выше вы бы установили новую точку останова в строке 15, нажмите F8 и очистите точку останова в строке 15, когда остановитесь там. Я знаю, это действительно раздражает: - (

Я проделал немного больше усилий, пытаясь воспроизвести эту ошибку, чтобы она могла быть исправлена. В (закрытом) баг-трекере Opera это теперь отслеживается как проблема CORE-42532, кажется, что мы добились некоторого прогресса там, так что, надеюсь, это раздражение когда-нибудь исчезнет. А пока удачи в отладке!

0 голосов
/ 24 октября 2011

Вы видели документацию для отладчика JavaScript .

...