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

Запретить Visual Studio пытаться загрузить символы для определенной DLL

У меня есть Visual Studio 2005 для работы с серверами символов Microsoft. У меня также установлен UltraMon, который встраивает DLL файлы в каждый процесс. Когда я начинаю отлаживать приложение

для чего-либо от момента до нескольких десятков секунд. Он никогда не найдет эти символы... Могу ли я сказать, чтобы он не стал смотреть?

(Я попытался создать пустой файл RTSUltraMonHookX32.pdb, но Visual Studio видит, что он не очень хорош и продолжает искать.)

4b9b3361

Ответ 1

Вы не можете сделать это очень мелко, но вы можете отключить автоматическую загрузку символов, а затем вручную выбрать символы для загрузки через окно Модули (Debug → Windows → Модули).

Отключить загрузку автоматического символа

  • Инструменты → Параметры → Отладка → Символы
  • Проверить "Поиск в указанных местах только при загрузке символов вручную"

Ответ 2

Также убедитесь, что у вас нет переменной среды "_NT_SYMBOL_PATH". Если у вас эти символы var будут загружаться независимо от настроек VS.

Ответ 3

Начиная с Visual Studio 2010, вы можете перейти к:

Tools -> Options -> Debugging -> Symbols -> Specify excluded modules

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

Ответ 4

В моем случае это было потому, что я установил "Enable. Source Step Stepping" в true в

Tools > Options > Debugging > General. 

Вместо того, чтобы устанавливать значение false, я устанавливаю значение "Включить только мой код" в значение true, которое автоматически устанавливает значение "Enable. Source Source Stepping" равным false. Это предостерегло меня перед этим:

Enabling Just my code automatically disabled .Net framework source stepping

Что предполагает, что Just My Code и .Net source stepping являются взаимоисключающими.

Я надеюсь, что это поможет кому-то.

Ответ 5

Вы также можете настроить исключения сервера символов, которые не будут загружаться в HKEY_CURRENT_USER\Software\Microsoft\Symbol Server\Exclusions или, возможно, также HKEY_LOCAL_MACHINE\Software\Microsoft\Symbol Server\Exclusions или через .ini файл в% WINDIR%\system32\inetsrv\Symsrv.ini(используйте заголовок [исключения] и помещайте каждое исключение в свою собственную строку). Исключения являются простыми совпадениями шаблонов, поэтому используйте msxml5. * Например.

Ответ 6

Не только _NT_SYMBOL_PATH может вызвать это поведение, но для меня это была переменная среды _NT_ALT_SYMBOL_PATH, которая вызывала задержки.

(я полагаю, я добавил эту переменную при экспериментировании с WinDbg)

Ответ 7

В Visual Studio 2013 Pro, если установлен Microsoft Symbol Server, VS попытается загрузить все символы на своем сервере, что вызовет много дополнительного времени.

Ответ 8

  • Загрузите все пакеты символов с веб-сайта MS вручную, поместите их на накопитель SSD для скорости: -)
  • Если у вас есть переменная окружения "_NT_SYMBOL_PATH", удалите часть " http://msdl.microsoft.com/download/symbols" из "SRVe:\symbols * http://msdl.microsoft.com/download/symbols", так что у вас есть только путь к символу, в котором ваши символы живут в ценном режиме.
  • Теперь у вас есть поддержка символов, но они не будут загружены с MS, но загружены с диска