VS Studio 2010 Symbol Server не включает исходный код - PullRequest
6 голосов
/ 11 ноября 2011

У меня установлена ​​VS Studio 2010 с пакетом обновления 1 (SP1), и было время, когда пошаговое выполнение исходного кода работало отлично. Что-то изменилось, и теперь, когда файлы pdb загружены, это версия с удаленным исходным кодом.

Что я не могу понять, так это как заставить VS загружать файлы pdb, содержащие исходный код. У меня одинаковые настройки на 2 разных машинах, и 1 машина загружает файлы pdb с исходным кодом, а другая - нет.

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

Машина, которая загружается с исходным кодом System.Web.pdb, составляет 10 860 КБ. Компьютер, загружаемый без исходного кода. System.Web.pdb. Размер: 843 КБ.

Ваша помощь в решении этой проблемы очень ценится.

Также, пожалуйста, не очищайте кэш, не устанавливайте и не сбрасывайте настройки символов и т. Д. Файлы загружаются и загружаются как символы, просто НЕТ источника.

C:\Windows\Microsoft.Net\assembly\GAC_32\System.Web\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Web.pdb: Cannot find or open the PDB file.
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\System.Web.pdb: Cannot find or open the PDB file.
C:\SymbolCache\MicrosoftPublicSymbols\System.Web.pdb\46C6DCE3C79A4E65A2B1CEF3033C95931\System.Web.pdb: Symbols loaded.

1 Ответ

4 голосов
/ 05 февраля 2012

Такое поведение часто вызывается публикацией Microsoft обновлений для .NET Framework.

Когда вы используете встроенную в Visual Studio 2010 конфигурацию символов по умолчанию (с установленным флажком «Включить пошаговое выполнение исходного кода .NET Framework»),Вы эффективно запрашиваете эти два сервера:

  1. http://referencesource.microsoft.com/symbols
  2. http://msdl.microsoft.com/download/symbols

Нет.1 содержит символы с поддержкой источника для .NET Framework (по крайней мере, его части) и нет.2 содержит символы исходного кода для всех окон.

Проблема в том, что нет.1 обновляется не так быстро, как нет.2, поэтому, когда обновление поступает через Центр обновления Windows, вы начинаете получать символы от нет.2, пока у кого-то в Microsoft обновлений нет.1. Это больно, но это так.

Вы можете обойти эту проблему, отменив выбор «Включить пошаговое выполнение исходного кода .NET Framework» и настроив эти пути вручную - тогда вы можете просто отключить (или нет).добавить вообще) нет.2, и, по крайней мере, имейте в виду, что пока нет доступных символов с поддержкой источника.

Или вы можете отключить Центр обновления Windows ...

...