Visual Studio символы загрузки - PullRequest
155 голосов
/ 31 июля 2010

Я некоторое время работаю над проектом ColdFusion , и Visual Studio, по крайней мере, начал вести себя странно.

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

Но это было очень медленно, и я не знаю, почему он начал делать этот шаг. Что я мог сделать?

Необходим ли этот шаг загрузки символа? Как я могу отключить его?

В диалоговом окне Инструменты -> Параметры -> Отладка -> Символы не добавлено расположение файла символов (.pdb). И я указал в каталоге отладки моего проекта на поле ниже, и я установил флажок «Искать в каталоге выше, только когда символы ....». Как мне настроить этот диалог, чтобы отключить загрузку символов?

Я посмотрел в окне Модули, какие символы загружены, но мне это ничего не говорит. В чем проблема?

enter image description here

Ответы [ 14 ]

259 голосов
/ 21 сентября 2010

Отладка -> Удалить все точки останова (http://darrinbishop.com/blog/2010/06/sharepoint-2010-hangs-after-visual-studio-2010-f5-debugging) После этого вы можете использовать их снова, но сделайте это один раз.Это также удалит некоторые «недействительные» точки останова, и тогда загрузка символов снова будет быстрой.Я преследовал эту проблему в течение нескольких дней: (.

115 голосов
/ 14 февраля 2011

Другая причина медленной загрузки - если вы отключили «Включить только мой код» в параметрах отладки.Чтобы включить это, перейдите на:

Tools -> Options -> Debugging -> General -> Enable Just My Code (Managed Only) 

Убедитесь, что это проверено.

39 голосов
/ 31 июля 2010

Настройка в Инструменты, Параметры, Отладка, Символы.

Вы можете посмотреть окно вывода (просмотр, вывод), чтобы увидеть, что оно обычно делает. Если он действительно медленный, это, вероятно, означает, что он загружает сервер символов, возможно, Microsoft, чтобы загрузить отсутствующие символы. Для каждого файла, который он не может найти при каждом запуске, требуется три HTTP-нажатия - иногда это можно увидеть в строке состояния внизу или, например, в. Скрипач. Во время отладки вы можете видеть, какие модули имеют загруженные символы в Debug, Windows, Modules.

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

35 голосов
/ 15 июля 2013

Только что возникла эта проблема.

Я исправил ее, выбрав:

Инструменты -> Параметры -> Отладка -> Символы

Затем снимите отметку со всех нелокальных источников для Местоположения файлов символов (.pdb)

например Microsoft SymbolСерверы и msdl.microsoft.com / скачать / символы

23 голосов
/ 14 февраля 2011

Я столкнулся с подобной проблемой. В моем случае я установил _NT_SYMBOL_PATH для загрузки с серверов Microsoft для использования в WinDbg, и похоже, что когда установлено, Visual Studio будет использовать это без возможности игнорировать его. Удаление этой переменной среды решило мою проблему.

10 голосов
/ 11 октября 2016

ссылка : social.msdn.microsoft.com

с вышеупомянутым исх., Я нашел это решение, которое как-то суммирует вышеприведенные ответы.

  1. Перейдите в Инструменты -> Параметры -> Отладка -> Общие

  2. ПРОВЕРЬТЕ галочку рядом с «Включить только мой код».

  3. Перейдите в Инструменты -> Параметры -> Отладка -> Символы

  4. Нажмите кнопку «...» и создайте / выберите новую папку где-нибудь на локальном компьютере для хранения кэшированных символов. Я назвал мой «Кэширование символов» и поместил его в «Документы» -> Visual Studio 2012.

  5. Нажмите «Загрузить все символы» и дождитесь загрузки символов с серверов Microsoft, что может занять некоторое время. Обратите внимание, что кнопка «Загрузить все символы» доступна только во время отладки.

  6. снимите флажок рядом с «Серверы Microsoft Symbol», чтобы запретить Visual Studio удаленно запрашивать серверы Microsoft.

  7. Нажмите «ОК».

Также попробуйте удалить все точки останова (Отладка> Удалить все точки останова),

6 голосов
/ 01 ноября 2012

Для меня это похоже на точки останова, как указано в принятом ответе. Однако я нашел два обходных пути, которые не включали удаление всех точек останова:

  • Перезапуск Visual Studio, казалось, исправил это временно.
  • Нажатие кнопки «X» для закрытия Visual Studio во время отладки вызывает «Вы хотите прекратить отладку?» всплывающее окно с сообщением; пока это окно сообщения вверх, символы загружаются с обычной скоростью. Когда все символы загружены, вы можете нажать «Нет», чтобы отменить закрытие.
5 голосов
/ 29 января 2013

Только что столкнулся с этой проблемой.Удаление точек останова не сработало или, по крайней мере, не само по себе.После этого я перешел в Инструменты> Параметры> Отладка> Символы и «Очистить кэш символов»

, а затем очистил решение и перестроил.

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

2 голосов
/ 03 апреля 2014

Мои 2 цента,

У меня была похожая проблема при попытке получить (Visual Studio 2013) диагностический отчет в режиме выпуска x64 (выборка процессора), и хотя символы для необходимых DLL-файлов были загружены, символы для моего исполняемого файла не будут загружаться ,

Я ничего не изменил в меню Символы, вместо этого я сделал некоторые изменения на страницах свойств потока моего исполняемого файла в обозревателе решений, а именно

Свойства конфигурации / Общие / Включить управляемую инкрементную сборку до ДА

Свойства конфигурации / Отладка / Слияние среды в NO

Свойства конфигурации / C / C ++ / Включить Просмотр информации в YES (/ FR)

Свойства конфигурации / Linker / Включить инкрементное связывание с YES (/ INCREMENTAL)

РЕДАКТИРОВАТЬ: Этот последний делает трюк

....

Свойства конфигурации / Линкер / Отладка / Создать Отладочную информацию для Да (/ DEBUG)

....

После этого все заработало и нормально загрузило символы. Я уверен, что один или несколько из вышеперечисленных сделали свое дело для меня (хотя я не уверен, какой именно) и просто хочу, чтобы другие знали и попробовали это ..

мир

2 голосов
/ 05 ноября 2013

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

Решением было отключить антивирусное программное обеспечение (в моем случае NOD32) или, что еще лучше, добавить к нему исключения, чтобы он игнорировал пути, из которых ваш процесс загружает сборки (в моем случае этоПапка GAC и папка временных файлов ASP.NET).

...