Добавление точки останова в середине строки с помощью Chrome Web Inspector

Скажем, у меня есть такой код JavaScript:

function breakpointInside() { console.log("How do I add a breakpoint here?"); }
breakpointInside();

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


person icktoofay    schedule 06.08.2011    source источник
comment
Если кому-то интересно, почему, я пытаюсь отладить мини-скрипт, размещенный на сервере, не контролируемом мной.   -  person icktoofay    schedule 06.08.2011
comment
Начиная с Google Chrome 55 вы можете получить несколько точек останова на строку. Пожалуйста, посмотрите здесь: - umaar.com/dev-tips/129-inline- точки останова — youtube.com/watch?v=HF1luRD4Qmk&feature= youtu.be&t=573   -  person anddoutoi    schedule 04.04.2017
comment
Используйте осторожно с большими мини-скриптами, так как аннотирование строки со всеми вариантами точек останова может занять много минут, что фактически убьет поток.   -  person ericP    schedule 18.01.2020


Ответы (3)


Вот 2 связанных решения

1) Деобфускация источника

Вы не можете поставить точку останова внутри строки, но вы можете (в более новых версиях Chrome) щелкнуть скрипт правой кнопкой мыши, выбрать De-obfuscate Source и поставить точку останова на деобфусцированную версию (которая будет иметь один оператор в каждой строке). ).

2) Красивый принт

(на основе комментария Николаса)

В более поздних версиях браузеров на основе Chromium эта функция называется Красивая печать и доступна в виде кнопки слева под панелью исходного кода, которая выглядит как {}.

person Digital Plane    schedule 06.08.2011
comment
В 2015 году вы можете нажать кнопку {}, которая называется красивой печатью, в левом нижнем углу. - person Nicolas Boisteault; 18.03.2015

Вы можете редактировать исходный код с помощью Chrome DevTools live: просто дважды щелкните исходный код на панели «Сценарии» и добавьте разрыв строки перед console.log. Нажмите Ctrl+Enter или Ctrl+S, чтобы зафиксировать изменения в виртуальной машине. Затем установите точку останова на новой строке, содержащей console.log.

person Pavel    schedule 06.08.2011
comment
Я пробовал это до того, как опубликовал вопрос с небольшим успехом. Теперь, когда я попробую еще раз, я могу заставить его работать над чем-то немного более сложным, чем то, что в моем вопросе, но не для приложения, в котором я действительно собирался его использовать. Когда я пытаюсь использовать этот трюк в реальном приложении, я могу один раз успешно отредактировать его. Однако новая точка останова не работает. Если я затем попытаюсь снова отредактировать скрипт, я получаю эту ошибку в консоли: Uncaught Script not found. Я, вероятно, выберу ответ Digital, так как он работает, но все равно спасибо. - person icktoofay; 07.08.2011
comment
При дальнейшем расследовании выяснилось, что эта ошибка происходит из строки 2344 v8.googlecode. com/svn/trunk/src/debug-debugger.js. - person icktoofay; 07.08.2011
comment
Я сообщил об ошибке, связанной с оперативным редактированием: crbug.com/92134 Мы будем признательны, если вы присоединитесь к ошибка фрагмент кода, на котором мы могли бы воспроизвести проблему и указать, какую версию Chrome вы используете. - person Yury Semikhatsky; 09.08.2011

Комментарий Николя Буасто — тот, который будет использоваться в последних версиях Chrome.

В 2015 году вы можете нажать кнопку {}, которая называется красивой печатью, в левом нижнем углу. — Николя Буасто

person UKM    schedule 04.02.2016