Почему в отладчике Firebug JavaScript явно отсутствует опция "Next"?

Похоже, что в отладчике JavaScript отсутствует базовая функция: Далее.

"Next" (как в PDB отладчик Python) должен выполнить текущую строку и остановиться. Кажется довольно простой.

Теперь, может быть, я что-то упускаю (поэтому и спрашиваю), но я понимаю, что существующие команды работают следующим образом:

Step Into: погрузитесь в тело текущей функции

Step Over: выполнить текущую функцию без убывания

Выйти: переместиться обратно вверх по стеку

Resume: продолжить работу до следующей точки останова

Мое чтение показывает, что Step Over должен быть эквивалентен "Next", но это не так. Я просто хочу выполнить строку без убывания, повышения или необходимости сразу устанавливать другую точку останова после строки, на которой я нахожусь. Я очень привык набирать "nnnnnn" в PDB, чтобы шаг за шагом проходить код. Firebug, кажется, не хватает этого... или я скучаю по нему;-)

Наконец, я также чувствую, что "предыдущий" или "назад" должны быть доступны. С таким заманчивым "указателем воспроизведения" в крайнем левом столбце было бы замечательно иметь возможность перетаскивать эту штуку вокруг, выполняя строку кода по ходу дела. Я могу мечтать

Любое разъяснение по этому вопросу было бы полезно.

2 ответа

Решение

Функция "Перешагнуть" не означает "пропустить следующую строку". Это означает выполнить его, но если оно содержит вызов функции, чтобы рассматривать сам оператор как единицу работы. Другими словами, "сверх" означает "не вмешивайся ни в какие функции".

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

Я предполагаю, что вы имеете в виду, что вы не хотите нажимать кнопку "Перешагнуть" несколько раз, чтобы перейти к следующей строке. Вам нужна кнопка, которая напрямую переместит вас на следующую строку. Нет кнопки "Далее", но вы можете использовать команду "Перейти к этой строке" в контекстном меню.

Есть некоторые инструменты исследования, которые позволяют вам двигаться назад, но они все еще не практичны.

Другие вопросы по тегам