Символы загрузки Visual Studio

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

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

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

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

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

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

enter image description here

Ответ 1

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

Ответ 2

Еще одна причина медленной загрузки - отключить "Включить только мой код" в параметрах "Отладка". Чтобы включить это, перейдите к:

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

Убедитесь, что это отмечено.

Ответ 3

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

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

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

Ответ 4

Просто эта проблема.

Я установил его, переместившись на:

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

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

например. Серверы Microsoft Symbol и msdl.microsoft.com/download/symbols

Ответ 5

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

Ответ 6

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

с вышеупомянутой ссылкой., я нашел это решение, которое является каким-то образом резюме вышеупомянутых ответов. Зайдите в Инструменты → Параметры → Отладка → Общие

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

  2. Выберите Сервис → Параметры → Отладка → Символы

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

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

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

  6. Нажмите "ОК".

  7. Также попробуйте удалить все точки останова (Отладк

Удалить все точки останова),

Ответ 7

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

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

Ответ 8

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

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

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

Ответ 9

В моем случае Visual Studio искала сторонние PDB по путям, которые на моей машине ссылаются на оптический диск. Без диска в лотке для Windows потребовалось около ~ 30, что, в свою очередь, замедлило работу с Visual Studio, когда он пытался загрузить PDB из этого места. Более подробная информация приведена в моем полном ответе здесь: fooobar.com/questions/18036/...

Ответ 10

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

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

Ответ 11

Мои 2 цента,

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

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

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

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

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

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

EDIT: этот последний делает трюк

....

Свойства конфигурации/компоновщик/отладка/ Генерация информации отладки до да (/DEBUG)

....

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

мир

Ответ 12

Попробуйте щелкнуть правой кнопкой мыши на одной из точек останова, а затем выбрать "Местоположение". Затем установите флажок "Разрешить исходный код отличается от исходной версии"

Ответ 13

Снятие отметки "Включить отладку JavaScript для ASP.NET(Chrome и IE)" в Tools-> Параметры → Debugging-> Общие разрешило мой случай с невозможностью запустить отладчик VS2017 с предустановленными точками останова.

Ответ 14

Visual Studio 2017 Отладка параметров "ускорения" символа, если вы уже не сошли с ума от настройки параметров:

  1. На Tools -> Options -> Debugging -> Symbols
    а. Включить параметр "Сервер Microsoft Symbol"
    б. Нажмите "Очистить кэш символов"
    с. Установите кэш символов в месте, которое легко найти, например C:\dbg_symbols или %USERPROFILE%\dbg_symbols
  2. После повторного запуска Debug, пусть он загрузит все символы один раз, от начала до конца, или настолько, насколько это возможно.

1А и 2 являются наиболее важными шагами. 1B и 1C - это просто полезные изменения, которые помогут вам отслеживать ваши символы.

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

Я заметил, что если я отменю отладочный прогон, мне придется перезагрузить эти символы, так как я предполагаю, что они "очищены", если они были введены и внезапно отменены. Я понимаю основную причину такого потока, но в этом случае он кажется плохо продуманным.

Ответ 15

Единственное, что сработало для меня, это изменение типа кода.

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

Ранее у меня был только собственный код.