Подтвердить что ты не робот

"Нет символов, загруженных для текущего документа" при отладке JavaScript в Visual Studio

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

В настоящий момент точка останова не будет удалена. Для этого документа не были загружены никакие символы.

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

4b9b3361

Ответ 1

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

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

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

Ответ 2

Убедитесь, что вы включили script отладка в своих интернет-вариантах. И если вы думаете об этом, проверьте его дважды.

Ответ 3

У меня была такая же проблема, но я решил ее, изменив настройки браузера в Internet Explorer. Перейдите в меню "Инструменты" → "Свойства обозревателя", выберите вкладку "Дополнительно", затем убедитесь, что оба параметра "Отключить Script" Отладка (Internet Explorer) "и" Отключить Script Отладка (другое) "не отмечены.

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

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

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

Ответ 4

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

Ответ 5

Наконец-то я нашел ответ на этот вопрос.

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

Это кнопка в красном поле здесь: Снимок экрана с кнопкой Select в окне Attach to Process

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

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

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

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

Ответ 6

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

Ответ 7

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

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

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

Ответ 8

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

Ответ 9

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

Ответ 10

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

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

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

Ответ 11

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

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

Ответ 12

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

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

Ответ 13

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

Ответ 14

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

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