Когда я открываю Инструменты разработчика в Google Chrome, я вижу все виды функций, таких как Профили, Временные шкалы и Аудиты, но основные функции, такие как возможность устанавливать точки останова как в js-файлах, так и в html и коде javascript, отсутствуют! Я пытался использовать консоль javascript, которая сама по себе глючит - например, когда она сталкивается с ошибкой JS, я не могу выйти из нее, пока не обновлю всю страницу. Может кто-нибудь помочь?
211
Ответы:
Используйте вкладку источников, вы можете установить точки останова в JavaScript там. В дереве каталогов под ним (со стрелками вверх и вниз в нем) вы можете выбрать файл, который хотите отладить. Вы можете выйти из ошибки, нажав возобновить на правой стороне той же вкладки.
источник
<script> your code </script>
добавьте имя как:<script> your code //# sourceURL=somename.js </script>
Это лучше объяснено в ответе нижеВы говорите о коде внутри
<script>
тегов или в атрибутах тегов HTML, как это?В любом случае, ключевое слово , как это будет работать:
debugger
NB Chrome не будет останавливаться на
debugger
s, если инструменты разработки не открыты.Вы также можете установить точки останова свойств в файлах и
<script>
тегах JS :источник
Sources
вместоScripts
сейчас.Вы также можете дать имя своему сценарию:
<script> ... (your code here) //# sourceURL=somename.js </script>
ofcourse замените «somename» на какое-то имя;), а затем вы увидите его в отладчике chrome в «Sources> top> (без домена)> somename.js» как обычный сценарий, и вы сможете отлаживать его, как и другие сценарии.
источник
Обновите страницу, содержащую скрипт, пока инструменты разработчика открыты на вкладке скриптов. Это добавит (программную) запись в список файлов, который показывает HTML страницы, включая скрипт. Отсюда вы можете добавить точки останова.
источник
Другой простой интуитивно понятный прием для отладки, особенно скрипта внутри html, возвращаемого ajax, заключается во временном размещении console.log («test») внутри скрипта.
Как только вы запустите событие, откройте вкладку консоли в инструментах разработчика. вы увидите ссылку на исходный файл, показанную справа от команды «test» debug print. просто нажмите на источник (что-то вроде VM4xxx), и теперь вы можете установить точку останова.
PS: кроме того, вы можете добавить оператор «отладчик», если вы используете Chrome, например, то, что предлагает @Matt Ball
источник
Моя ситуация и что я сделал, чтобы это исправить: у
меня есть файл javascript, включенный в HTML-страницу следующим образом:
Page Name: test.html
Теперь, войдя в Javascript Debugger в Chrome, я щелкаю вкладку «Сценарии» и раскрываю список, как показано выше. Я могу ясно видеть сценарии / common.js однако я мог бы НЕ видеть текущую страницу HTML test.html в раскрывающемся вниз, поэтому я не мог отладки встроенного JavaScript:
Это было озадачивающе. Однако, когда я удалил устаревший type = "text / javascript" из встроенного скрипта:
... и обновил / перезагрузил страницу, вуаля, она появилась в выпадающем списке, и все снова было хорошо.
Я надеюсь, что это полезно для тех, кто испытывает проблемы с отладкой встроенного JavaScript на HTML-странице.
источник
type
это обязательный атрибут. В HTML5 это необязательно.<div>
помешала мне увидеть код в отладчикеДобавление
debugger;
сверху в моем сценарии работало для меня.источник
У меня тоже была такая же проблема, как отлаживать JavaScript внутри
<script>
тегов. Но потом я нашел его на вкладке «Источники», которая называется «(индекс)» с круглыми скобками. Нажмите на номер строки, чтобы установить точки останова.Это Chrome 71.
источник
Если вы не видите вкладку «Сценарии», убедитесь, что вы запускаете Chrome с правильными аргументами. У меня была эта проблема, когда я запустил Chrome для отладки серверного JavaScript с аргументом
--remote-shell-port=9222
. У меня нет проблем, если я запускаю Chrome без аргументов.источник
Я столкнулся с этой проблемой, однако моя встроенная функция была в угловом представлении. Поэтому при загрузке я не смог получить доступ к встроенному скрипту для добавления отладки, так как на вкладке источников отладчика был доступен только index.html.
Это означало, что когда я открывал конкретное представление с помощью встроенного (не было выбора), он был недоступен.
Единственный способ, которым я смог поразить это, - поместить ошибочную функцию или вызвать ее внутри встроенной функции JS.
Мое решение включало:
Это значит, что когда я нажимал на кнопку, мне предлагалось ввести Chrome.
Важным моментом здесь был источник этого:
VM5658:6
нажатие на это позволило мне пройти через встроенную строку и удерживать точку останова там на потом.Чрезвычайно запутанный способ достижения этого. Но это сработало и может оказаться полезным при работе с одностраничными приложениями, которые динамически загружают ваши просмотры.
Значение
VM[n]
не имеет значительного значения, а значениеn
on равно идентификатору сценария. Эту информацию можно найти здесь: Chrome "[VM]"источник
При использовании Visual Studio (2012) у меня возникла та же проблема, и переход на IIS Express решил эту проблему!
В
script
тегеtype
атрибут не фактор в него.По какой-то причине Visual Studio Development Server не предоставляет все, что требуется Chrome для включения точек останова.
источник
Я знаю, что вопрос не о,
Firefox
но я не хотел добавлять копию этого вопроса, чтобы просто ответить на него сам.Для Firefox вам нужно добавить,
debugger;
чтобы иметь возможность делать то, что @ matt-ball предложил дляscript
тега.Таким образом, в вашем коде вы добавляете
debugger
над строкой, которую хотите отладить, а затем можете добавить точки останова. Если вы просто установите точки останова в браузере, он не остановится.источник
Это продолжение ответа Риана Шмитса выше. В моем случае в мой код JavaScript был встроен HTML-код, и я не мог видеть ничего, кроме HTML-кода. Возможно, отладка Chrome изменилась за эти годы, но щелкнув правой кнопкой мыши вкладку «Источники / источники», я получил « Добавить папку в рабочую область» . Я смог добавить весь свой проект, который дал мне доступ ко всем моим JavaScripts. Вы можете найти более подробную информацию в этой ссылке . Надеюсь, это кому-нибудь поможет.
источник