Visual Studio 2010 SP1 - поврежден файл C # PDB - отображаются неправильные номера строк - PullRequest
0 голосов
/ 18 июля 2011

У меня проблема с одним проектом C # в решении 21 проекта C # (ЛЮБОЙ ЦП).

Точки останова не достигаются - и когда я заставляю отладчик присоединяться (Debugger.Launch ()), я вижу, что стек вызовов показывает правильные функции, однако номера строк очень неправильные.

В конкретном примере у меня есть точка останова в строке 346 из 1020 строк, но отладчик переходит к строке 10745, в результате чего отладчик показывает результаты из совершенно другого файла. Из файлов журнала видно, что выполняются правильные методы.

После большой головной боли я решил попробовать на 2 разных машинах с установленным VS 2010 SP1 - и они показали точно такое же поведение.

Я уже пытался полностью очистить решение, вручную удалить все файлы PDB, перезапустить VS, перезагрузить компьютер, очистить кэш символов VS (Инструменты> Параметры> Отладка> Символы), удалил все "Файл символов ( .pdb) местоположения "и удалить базу данных решения" .SDF ".

Я компилирую проект в режиме отладки и убедился, что «Оптимизировать код» не включен в проекте.

Точки останова в разных проектах в решении действительно работают - так что, похоже, только этот проект по какой-то причине создает поврежденный файл PDB. Однако я не могу понять, почему этот отдельный проект должен отличаться от других проектов. Единственное реальное отличие состоит в том, что у меня есть 2 веб-ссылки в этом конкретном проекте - и довольно забавно, что именно в этих классах-заглушках файл PDB всегда инструктирует отладчик заканчивать работу.

Конкретное решение компилируется и отлаживается на полностью исправленной машине Windows 2003 x86.

Буду признателен, если кто-нибудь подскажет, как решить эту проблему.

1 Ответ

1 голос
/ 18 июля 2011

Попробуйте щелкнуть правой кнопкой мыши по проекту, перейдите на вкладку сборки -> нажмите кнопку «Дополнительно» -> проверить область вывода -> выберите отладочную информацию только для pbd.Иногда это меняется.

...