Как установить точку останова JavaScript из кода в Chrome?

Я хочу заставить отладчик Chrome сломаться на строке код, или же с помощью какого-то тега комментария, такого как что-то вроде console.break().

10 ответов


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


настройте прослушиватель щелчка кнопки и вызовите debugger;

пример

$("#myBtn").click(function() {
 debugger;   
});

демо

http://jsfiddle.net/hBCH5/

ресурсы по отладке в В JavaScript


Как уже говорили другие,debugger; - Это путь. Я написал небольшой скрипт, который вы можете использовать из командной строки в браузере для установки и удаления точки останова прямо перед вызовом функции: http://andrijac.github.io/blog/2014/01/31/javascript-breakpoint/


вы также можете использовать debug(function), для того чтобы сломать когда function называется.

ссылка на API командной строки: debug


на вкладке "Скрипты" перейдите туда, где находится ваш код. Слева от номера строки нажмите. Это установит точку останова.

скриншоты:

screenshot of breakpoint in chrome

затем вы сможете отслеживать точки останова в правой вкладке (как показано на скриншоте).


debugger является зарезервированным ключевым словом EcmaScript и заданной необязательной семантикой с ES5

в результате его можно использовать не только в Chrome, но и в Firefox и Node.js via node debug myscript.js.

на стандарт говорит:

синтаксис

DebuggerStatement :
    debugger ;

семантика

оценка производства DebuggerStatement может позволить реализации вызвать точку останова при запуске под отладчик. Если отладчик отсутствует или активен, этот оператор не имеет наблюдаемого эффекта.

производственный DebuggerStatement: debugger; оценивается следующим образом:

  1. если средство отладки, определенное реализацией, доступно и включено, то
    1. выполните действие отладки, определенное реализацией.
    2. пусть результатом будет значение завершения, определенное реализацией.
  2. еще
    1. пусть результат будет (нормальный, пустой, пустой).
  3. обратный результат.

никаких изменений в ES6.


это возможно, и есть много причин, по которым вы можете это сделать. Например, отладка бесконечного цикла javascript, близкого к началу загрузки страницы, которая останавливает загрузку набора инструментов разработчика chrome (или firebug).

см. раздел 2

http://www.laurencegellert.com/2012/05/the-three-ways-of-setting-breakpoints-in-javascript/

или просто добавьте строку, содержащую слово debugger в код на требуемая тестовая точка.


точка останова : -

точка останова прекратит выполнение и позволит вам изучить значения JavaScript.

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

отладчик :-

отладчик; останавливает выполнение JavaScript и вызывает функцию отладки.

оператор debugger приостанавливает выполнение, но не закрывает файлы и не очищает их переменная.

Example:-
function checkBuggyStuff() {
  debugger; // do buggy stuff to examine.
};

вы можете установить debug(functionName) для отладки функции.

https://developers.google.com/web/tools/chrome-devtools/javascript/breakpoints#function


существует много способов отладки кода JavaScript. Следующие два подхода широко используются для отладки JavaScript с помощью кода

  1. используя console.log() для распечатки значений в браузере приставка. (Это поможет вам понять значения в определенных точках вашего кода)

  2. ключевое слово Debugger. Добавить debugger; в места, которые вы хотите отладка, откройте консоль разработчика браузера и перейдите к источники табуляция.

дополнительные инструменты и способы отладки кода JavaScript, даются в эта ссылка по W3School.