У меня проблема с одним проектом C # в решении 21 проекта C # (ЛЮБОЙ ЦП).
Точки останова не достигаются - и когда я заставляю отладчик присоединяться (Debugger.Launch ()), я вижу, что стек вызовов показывает правильные функции, однако номера строк очень неправильные.
В конкретном примере у меня есть точка останова в строке 346 из 1020 строк, но отладчик переходит к строке 10745, в результате чего отладчик показывает результаты из совершенно другого файла. Из файлов журнала видно, что выполняются правильные методы.
После большой головной боли я решил попробовать на 2 разных машинах с установленным VS 2010 SP1 - и они показали точно такое же поведение.
Я уже пытался полностью очистить решение, вручную удалить все файлы PDB, перезапустить VS, перезагрузить компьютер, очистить кэш символов VS (Инструменты> Параметры> Отладка> Символы), удалил все "Файл символов ( .pdb) местоположения "и удалить базу данных решения" .SDF ".
Я компилирую проект в режиме отладки и убедился, что «Оптимизировать код» не включен в проекте.
Точки останова в разных проектах в решении действительно работают - так что, похоже, только этот проект по какой-то причине создает поврежденный файл PDB. Однако я не могу понять, почему этот отдельный проект должен отличаться от других проектов. Единственное реальное отличие состоит в том, что у меня есть 2 веб-ссылки в этом конкретном проекте - и довольно забавно, что именно в этих классах-заглушках файл PDB всегда инструктирует отладчик заканчивать работу.
Конкретное решение компилируется и отлаживается на полностью исправленной машине Windows 2003 x86.
Буду признателен, если кто-нибудь подскажет, как решить эту проблему.