Я хочу заставить отладчик Chrome разрывать строку с помощью кода или использовать какой-либо тег комментария, например что-то вроде console.break()
.
Я хочу заставить отладчик Chrome разрывать строку с помощью кода или использовать какой-либо тег комментария, например что-то вроде console.break()
.
Ответы:
Вы можете использовать debugger;
в своем коде. Если консоль разработчика открыта, выполнение будет прервано. Это работает и в firebug.
setTimeout(function(){debugger;}, 3000);
debugger;
поддерживается во всех основных браузерах. Для получения дополнительной информации: w3schools.com/jsref/jsref_debugger.asp
Настройте слушателя нажатия кнопки и вызовите debugger;
пример
$("#myBtn").click(function() {
debugger;
});
демонстрация
Ресурсы по отладке в JavaScript
Вы также можете использовать debug(function)
, чтобы сломать, когда function
вызывается.
Как уже говорили другие, debugger;
это путь. Я написал небольшой скрипт, который вы можете использовать из командной строки в браузере для установки и удаления точки останова непосредственно перед вызовом функции:
http://andrijac.github.io/blog/2014/01/31/javascript-breakpoint/
На вкладке «Сценарии» перейдите туда, где находится ваш код. Слева от номера строки нажмите. Это установит точку останова.
Скриншот:
После этого вы сможете отслеживать точки останова на правой вкладке (как показано на скриншоте).
debugger
является зарезервированным ключевым словом EcmaScript и дает дополнительную семантику начиная с ES5
В результате, он может быть использован не только в Chrome, но и Firefox и Node.js с помощьюnode debug myscript.js
.
Синтаксис
DebuggerStatement : debugger ;
Семантика
Оценка производства DebuggerStatement может позволить реализации вызвать точку останова при запуске под отладчиком. Если отладчик отсутствует или активен, это утверждение не имеет видимого эффекта.
Производственный DebuggerStatement: отладчик; оценивается следующим образом:
- Если средство отладки, определенное реализацией, доступно и включено, то
- Выполните определенное для реализации действие отладки.
- Пусть result будет значением Завершения, определяемым реализацией.
- еще
- Пусть результат будет (обычный, пустой, пустой).
- Вернуть результат.
Никаких изменений в ES6.
Это возможно, и есть много причин, по которым вы можете захотеть сделать это. Например, отладка бесконечного цикла javascript рядом с началом загрузки страницы, которая мешает корректной загрузке набора инструментов разработчика chrome (или firebug).
Смотрите раздел 2
http://www.laurencegellert.com/2012/05/the-three-ways-of-setting-breakpoints-in-javascript/
или просто добавьте строку, содержащую слово отладчик, в ваш код в нужной контрольной точке.
Точка останова: -
точка останова прекратит выполнение и позволит вам изучить значения JavaScript.
Изучив значения, вы можете возобновить выполнение кода (обычно с помощью кнопки воспроизведения).
Отладчик: -
Отладчик; останавливает выполнение JavaScript и вызывает функцию отладки.
Оператор отладчика приостанавливает выполнение, но не закрывает файлы и не очищает переменные.
Example:-
function checkBuggyStuff() {
debugger; // do buggy stuff to examine.
};
Вы также можете настроить debug(functionName)
отладку функций.
https://developers.google.com/web/tools/chrome-devtools/javascript/breakpoints#function
Есть много способов отладки кода JavaScript. Следующие два подхода широко используются для отладки JavaScript с помощью кода
Используется console.log()
для распечатки значений в консоли браузера. (Это поможет вам понять значения в определенных точках вашего кода)
Ключевое слово отладчика. Добавьте debugger;
в места, которые вы хотите отладить, откройте консоль разработчика браузера и перейдите на вкладку источников.
Дополнительные инструменты и способы отладки кода JavaScript приведены в этой ссылке W3School .
Я бы не рекомендовал, debugger;
если вы просто хотите убить и остановить код JavaScript, поскольку debugger;
он просто временно заморозит ваш код JavaScript и не остановит его навсегда.
Если вы хотите правильно убить и остановить JavaScript-код по вашей команде, используйте следующее:
throw new Error("This error message appears because I placed it");
debugger;
или просто используете обычные точки останова на панели инструментов разработчика?