«Для текущего документа не загружены символы» при отладке JavaScript в Visual Studio

Я работаю над веб-сайтом .NET 3.5 с тремя проектами под одним решением. В этом проекте я использую jQuery. Я хотел бы использовать отладчик JavaScript Visual Studio для пошагового выполнения кода JavaScript. Если я устанавливаю точку останова в любом из файлов .js, я получаю предупреждение, в котором говорится:

The breakpoint will not currently be hit. No symbols have been loaded for this document.

Как я могу это исправить? Я предполагаю, что у Visual Studio возникли проблемы с синтаксическим анализом некоторого кода jQuery. Я попытаюсь заменить свернутую версию jQuery.js на расширенную, но не думаю, что это исправит.

немного дополнительной информации может помочь. код javascript, который я хочу выполнить, находится во внешнем файле .js.

Randy L 22.09.2008 19:29

У меня такая же идентичная проблема и тоже нет ответа. Я проголосовал за вопрос и ищу ответ!

bentford 21.10.2008 01:52
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
22
2
29 611
14
Перейти к ответу Данный вопрос помечен как решенный

Ответы 14

Вам нужно дождаться, пока IDE проанализирует код JavaScript. Просто подождите немного, и вы увидите, что цвет кода JavaScript изменится. После этого вы сможете добавлять точки останова.

Я бы предложил использовать FireBug для отладки JavaScript. Дайте ему спин :)

У меня иногда возникает эта проблема с внешними файлами JavaScript - это вызвано тем, что кеш браузера хранит старую копию файла. В этом случае проблема решается путем принудительного обновления страницы, ссылающейся на код JavaScript.

Конечно, убедитесь, что ваш отладчик подключен к правильному процессу браузера. ;)

Убедитесь, что вы включили отладка скрипта в настройках Интернета. И если вы думаете, что он включен, проверьте его еще раз.

Ответ принят как подходящий

У меня было такое же поведение в Visual Studio 2008, и, потратив несколько минут на попытки загрузить символы, я решил использовать обходной путь - добавив строку с «отладчиком»; в моем файле JavaScript.

После добавления debugger;, когда вы затем перезагружаете скрипт в Internet Explorer, он позволит вам вызвать новый экземпляр отладчика скриптов, и он остановится на вашей команде отладчика, что позволит вам выполнять отладку оттуда.

В этом сценарии я уже отлаживал JavaScript в Firebug, но мне также хотелось выполнить отладку в Internet Explorer.

Думаю, я наконец нашел ответ на это.

Когда вы присоединяете отладчик к процессу iexplore.exe, вам необходимо убедиться, что вы выбрали «Сценарий» в качестве одного из вариантов отладки.

Здесь это кнопка в красном поле: Снимок экрана кнопки выбора в окне "Присоединить к процессу"

Затем на следующем экране выберите Script: Снимок экрана окна выбора типа кода

Это предупредит вас о том, что вы не можете одновременно отлаживать Managed и Script, но это должно быть нормально, потому что ваш управляемый код является вашим серверным кодом, и вместо этого вы подключаетесь к веб-процессу (aspnet или w3wp).

Вы будете знать, что сделали это правильно, потому что VS 2008 загрузит ВСЕ документы сценария, относящиеся к этой странице (встроенные файлы, материалы eval и т. д.) В обозревателе решений.

У вас будет полный доступ к DOM, немедленное окно будет работать и т. д. Это довольно удобно.

У меня была такая же проблема, но я решил ее, изменив настройки браузера в Internet Explorer. Перейдите в меню Инструменты -> настройки интернета, выберите вкладку Передовой, затем убедитесь, что оба флажка «Отключить отладку сценария (Internet Explorer)» и «Отключить отладку сценария (другое)» не отмечены.

Кроме того, мне нужно было установить Internet Explorer в качестве браузера по умолчанию, который обычно устанавливается как Firefox. Для этого в Visual Studio просто щелкните правой кнопкой мыши любой доступный для просмотра файл в Обозреватель решений и выберите «Обзор с ...». Выберите Internet Explorer и нажмите «Установить по умолчанию».

Я не уверен, есть ли способ запустить отладку в других браузерах, но меня не удивит, если Visual Studio хорошо работает только с Internet Explorer.

Кроме того, вам может потребоваться выполнить команду «Присоединиться к процессу» и добавить IExplorer.exe, чтобы запустить отладчик.

Возможно, это очевидно очевидно, но я споткнулся на секунду, так что, возможно, другие тоже. У меня не было Internet Explorer, настроенного для обработки HTML / HTTP, и, следовательно, он не запускался, когда я нажимал кнопку запуска в Visual Studio.

Вместо этого я запускал Firefox. Я зашел в Кнопка Пуск | Стандартные программы, установил все значения по умолчанию для Internet Explorer, а затем отладка начала работать в Visual Studio для меня без всякой суеты.

Это также может произойти, если в вашем решении несколько веб-проектов, даже если они обслуживаются другим экземпляром сервера разработки ASP.NET (WebDev.WebServer40.exe) на разных портах.

Если в вашем решении запущено два или более веб-проектов и у вас есть несколько файлов сценариев с одинаковыми именами в одном месте на разных веб-серверах, веб-серверы разработки могут обслуживать неправильный файл, вызывая эту проблему.

В моем случае проблема была решена удалением лишних копий.

Еще одна вещь, которую вы можете найти, - это синтаксическая ошибка в вашем коде JavaScript. Вот что случилось со мной сегодня. Никакие символы не загружались, потому что в моем коде было слишком много круглых скобок. IntelliSense едва зарегистрировал ошибку. Как только я исправил синтаксическую ошибку, все заработало нормально.

Все ответы верны, но нужно проверить еще кое-что. До вчерашнего дня я всегда мог отлаживать свой код JavaScript изнутри Visual Studio (2012 г.). Я добавил в решение проект Silverlight, который включил отладчик Silverlight. Это была моя проблема.

На странице свойств веб-приложения -> Параметры запуска -> внизу страницы убедитесь, что флажок «Silverlight» снят. Собственно, я проверил только ASP.NET, и теперь отладчик проходит через Visual Studio.

Снятие отметки с него, и теперь отладчик останавливается на функции "инициализации", как я и хотел.

Хороший. Большое спасибо, очень напрягает.

Tony 29.07.2014 20:09

@ Питер Мортенсен - Тебе скучно? Редактирование публикации, которой почти 3 года. Отлично - НЕ

MtnManChris 28.04.2016 20:38

Решением для меня было обновить IE с 9 до 11 версии. Надеюсь, это кому-то поможет. Мир!

У меня были такие же досадные проблемы с Visual Studio 2013, а разработка JavaScript без отладчика - это просто самоубийство.

Все, что я сделал, чтобы исправить это, - это щелкнуть правой кнопкой мыши красную точку точки останова -> Отключить точку останова, а затем снова щелкнуть правой кнопкой мыши -> Включить точку останова.

Это заставило отладчик снова работать с JavaScript как шарм.

Другие вопросы по теме