#javascript #debugging #developer-tools
Вопрос:
Я отлаживаю незамутненный код Javascript. В какой-то момент код застревает в какой-то никогда не возвращающейся функции или бесконечном цикле. Каков самый быстрый способ найти эту часть кода? Я предполагаю, что есть лучший способ, чем добавление кучи точек разрыва/отпечатков.
Я использую инструменты разработчика Chrome.
Комментарии:
1. Ты действительно имел в виду не запутанный? То есть » не трудно читать»? Или вы имели в виду запутанное?
2. @Ти Джей Краудер Да, я подумал, что это может быть важно знать. Может быть, это и есть предположение:) Я должен был написать «не запутано», я думаю, что «не запутано» означает «когда-то было запутано».
3. «Не запутанный «-это нормально («де-запутанный» означало бы, что он когда-то был запутан), но на самом деле нет необходимости упоминать об этом. По умолчанию мы будем считать, что вы отлаживаете незамутненный код. 🙂
Ответ №1:
Если вы открываете devtools и ждете, пока код попадет в бесконечный цикл, вы можете нажать кнопку «пауза» в devtools, которая приостановит код где-нибудь в цикле.
Например, я написал страницу с этим кодом:
setTimeout(() =gt; { let n = 0; while (isFinite(n)) { n = n 1; } }, 800);
и запустил его, открыл devtools и нажал кнопку паузы. Он приостановил код в while
:
Ответ №2:
Если вы действительно находитесь в цикле с открытой консолью, перейдите на вкладку «Источники», затем нажмите на значок «Пауза». Код остановится, и вы увидите, где он застрял 🙂