Отладка Chrome JavaScript-как сохранить точки останова между обновлением страницы или перерывом через код?



при использовании Chrome и отладчика JavaScript, каждый раз, когда я перезагружаю свою страницу / скрипты, мои точки останова теряются, и мне нужно найти файл скрипта во всплывающем окне, найти строку кода для моей точки останова, нажмите, чтобы добавить ее и т. д.



есть ли способ сохранить эти точки останова, чтобы он ломался даже после обновления страницы (другие отладчики, которые я использовал, делают это)?



кроме того, есть ли чистый способ в моем коде JavaScript я могу ввести что-то, чтобы сказать chrome, чтобы начать трассировка (сделать паузу на линии)?

635   8  

8 ответов:

вы можете поставить

debugger;

для взлома в большинстве сред JavaScript. Они будут упорствовать наверняка. Хорошо иметь мини-генератор, который управляет отладчиком и консолью.журнал вызывает производственную среду, если вы используете их.

в последних версиях браузера Chrome, есть опция "Сохранить журнал" в верхней части панели консоли, рядом с фильтрами. В более старых версиях щелчок правой кнопкой мыши по пустому окну консоли приведет к этой опции ("Сохранить журнал при навигации"). Это удобно, когда у вас нет консоли.операторы журнала или жестко запрограммированные вызовы отладчика.

обновление: я нашел инструмент на GitHub, называется дымовая труба, который берет файл и удаляет все консоли.журнала звонков. это дает хорошее представление о том, как удалить отладчик вызывает.

установить точки останова, перейдите на вкладку Сеть и выберите Сохранить Журнал При Навигации переключить. Теперь точки останова должны быть там, когда вы обновляете.

или JavaScript способ использовать

debugger;

кроме того, вы отправляете свои файлы JavaScript с сервера на клиент с помощью прикрепленный параметр запроса к URL-адресу с текущим временем эпохи? Это используется для предотвращения кэширования файлов JavaScript.

когда это так, кажется, что инструменты разработчика Chrome интерпретируют файл как другой после обновления, который (правильно) удалит точки останова.

для меня удаление параметра запроса заставило CDT сохранить точки останова после обновления.

Это, вероятно, происходит для сценариев, которые вы динамически загружаете или оцениваете из других сценариев? Я могу сказать для себя, что этот сценарий действительно раздражал меня, пока я не обнаружил свойство sourceURL. Размещение следующего специально отформатированного комментария в последней строке сценария, который вы хотите отладить, будет "привязывать" его в Chrome, чтобы у него была система отсчета для него:

/ / # sourceURL=filename.js

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

для людей, использующих ExtJs 6.x:
вместо disableCaching в Ext.Загрузчик вы можете добавить "кэш" или "disableCacheBuster" параметр запроса к URL страницы. Это приведет к удалению параметра "_dc" из файла и позволит отладчику chrome сохранить точку останова.

смотрите bootstrap.js в вашем приложении (параметр конфигурации disableCaching).

вы можете поставить отладчик; перед кодом, где вы хотите начать отладку. Как только страница начнет загружаться,она остановится на отладчике; оператор. Затем вы можете легко применить точку отладки в соответствии с вашим требованием.

можно использовать debugger; заявление в исходном коде, чтобы сделать отладчик перерыв там.

инструменты разработчика Chrome должны вести себя так, как вы ожидаете, но вы можете поставить debugger; заявления в вашем (развитии!) код для приостановки выполнения.

Comments

    Ничего не найдено.