Я ищу в Chrome эквивалент функциональности Firebug "разбить на все ошибки". На вкладке «Сценарии» Chrome имеет «паузу для всех исключений», но это не совсем то же самое, что разбивать все ошибки.
Например, при загрузке страницы с помощью следующего кода я бы хотел, чтобы Chrome ломался в строке foo.bar = 42
. Вместо этого даже при включении «Пауза для всех исключений» я не получаю ожидаемого результата.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<script type="text/javascript">
function doError() {
foo.bar = 42;
}
window.onload = function() {
try {
doError();
} catch (e) {
console.log("Error", e);
}
}
</script>
</head>
<body>
</body>
</html>
Вы можете попробовать код, вставленный выше на этой странице или используя этот jsFiddle .
javascript
google-chrome
debugging
webkit
avernet
источник
источник
console.log(gaga)
) или на неопределенное свойство (как вwindow.foo.bar
).Ответы:
Изменить: исходная ссылка, на которую я ответил, теперь недействительна . Более новый URL будет https://developers.google.com/web/tools/chrome-devtools/javascript/add-breakpoints#exceptions с 2016-11-11.
Я понимаю, что на этот вопрос есть ответ, но он больше не точен. Используйте ссылку выше ^
(ссылка заменена на отредактированную выше) - теперь вы можете установить ее на все исключения или только на необработанные. (Обратите внимание, что вы должны быть на вкладке Источники, чтобы увидеть кнопку.)
Chrome также добавил некоторые другие действительно полезные возможности точки останова, такие как взлом на изменениях DOM или сетевых событиях.
Обычно я не отвечал бы повторно на вопрос, но у меня был тот же самый вопрос, и я нашел этот теперь неправильный ответ, поэтому я решил поместить эту информацию сюда для людей, которые пришли позже в поиске. :)
источник
У меня возникли проблемы, чтобы получить его, поэтому я публикую фотографии, показывающие различные варианты:
Chrome 75.0.3770.142 [29 июля 2018 года]
Очень похожий пользовательский интерфейс, начиная с версии Chrome 38.0.2125.111 [11 декабря 2014]
На вкладке
Sources
:Когда кнопка активирована, вы можете
Pause On Caught Exceptions
с флажком ниже:Предыдущие версии
Chrome 32.0.1700.102 [03 февраля 2014]источник
Теперь это поддерживается в Chrome с помощью кнопки «Приостановить все исключения».
Чтобы включить это:
Обратите внимание, что эта кнопка имеет несколько состояний. Продолжайте нажимать кнопку, чтобы переключаться между
источник
Почти любая ошибка приведет к исключениям. Единственные ошибки, о которых я могу подумать, что они не будут работать с опцией «пауза при исключениях», - это синтаксические ошибки, которые происходят до того, как какой-либо код выполняется, поэтому в любом случае нет места для паузы, и ни один код не будет работать.
Очевидно, что Chrome не будет останавливаться на исключении, если он находится внутри блока try-catch. Это только делает паузу на неисследованных исключениях. Я не знаю, как это изменить.
Если вам просто нужно знать, на какой строке произошло исключение (тогда вы можете установить точку останова, если исключение воспроизводимо), у
Error
объекта, переданного блоку catch, естьstack
свойство, показывающее, где произошло исключение.источник
К сожалению, инструменты разработчика в Chrome, по-видимому, не могут «останавливаться на всех ошибках», как это делает Firebug.
источник