Медленная загрузка символов в проекте ASP.NET в VS2012

У меня возникла проблема с загрузкой символов в моем проекте ASP.NET MVC. В первый раз, когда я загружаю визуальную студию и отлаживаю свой проект, символы загружаются примерно через 2 секунды. Затем я завершаю сеанс отладки, делаю модификацию кода и снова отлаживаю, а время загрузки символа составляет около минуты. Основываясь на проведенных нами исследованиях, вот некоторые применимые настройки на моей машине /VS:

В папках "Параметры/Отладка/Символы/Символы" "Серверы Microsoft Symbol Servers" не отмечены, а дополнительных мест нет.

Параметры/Отладка/Символы/Символы кэша в этом каталоге - "G:\Symbol Cache". Я нажал "Загрузить все символы", и я осмотрел этот каталог, и я вижу много символов.

Только мой код включен.

Переменные среды _NT_SYMBOL_PATH и _NT_ALT_SYMBOL_PATH не определены на моей машине.

Параметры/Отладка/Символы/Автоматическая загрузка символов для параметра установлена ​​только на "Только указанные модули", без указанных модулей.

Я пробовал как сборку отладки, так и выпуск, с одинаковыми результатами. Ctrl + F5 загружает сайт почти сразу.

Ответ 1

У меня тоже была эта проблема, причина в том, что я случайно включил "Microsoft Symbol Server"

Вы можете отключить его, выбрав "Инструменты" > "Параметры" > "Отладка" > "Символы" и снимите флажок "Microsoft Symbol Server"

Теперь он загружается так же быстро, как и раньше.

Ответ 2

У меня тоже была эта проблема, и я заметил, что она в основном связана с сторонними сборками, полученными через NuGet. В этих случаях Visual Studio пыталась загрузить PDB из путей, которые, по-видимому, существовали на исходном автору (т.е. D:\OriginalAuthor\MyVisualStudioProjects\AwesomeNuGetPackage), но на моей машине тот же путь относится к оптическому диску. Затем я обнаружил через командную строку, что если вы попытались сменить каталог на оптический диск, у которого не было диска в лотке, потребовалось очень много времени (~ 30 секунд), чтобы сбой. Имея это в виду, моим решением было просто поместить DVD в лоток. В этот момент Visual Studio смогла очень быстро определить, что путь не существует, пропустить загрузку PDB и перейти прямо к отладке.

Итак, если Visual Studio занимает много времени, чтобы загрузить символы, посмотрите окно вывода для путей, к которым он пытается получить доступ, и убедитесь, что вы можете быстро получить доступ (или быстро получить доступ) к этим путям самостоятельно с помощью командной строки.

Это вызывает интересный вопрос о безопасности/конфиденциальности - очевидно, Visual Studio сохраняет абсолютный путь исходного PBD в сборке. Я полагаю, что это не очень важная проблема, но с точки зрения конфиденциальности я действительно не хочу, чтобы мои абсолютные пути файловой системы были доступны публике без моего ведома.

Ответ 3

Просто попробуйте этот отладка → Удалить все точки останова. Его работы на меня.

Ответ 4

У меня было 2.dll, и мне было жаль, что мне не нужно было отлаживать то, что начиналось с загрузки минут. Вышеупомянутые решения не помогли. Поэтому я перешел в "Параметры" → "Отладка" → "Символы" и под кнопкой "Все модули, если только не исключено", нажмите ссылку "Укажите исключенные модули". Затем введите .dll, которые вызывают проблемы.