#visual-studio #visual-studio-2008 #debugging
#visual-studio #visual-studio-2008 #отладка
Вопрос:
Мы работаем над приложением .NET и недавно начали использовать Git для контроля версий.
Наш последний выпуск был помечен в Git, и теперь я пытаюсь отладить какую-то проблему.
Вот что я сделал:
- Установил приложение (из выпуска) на свой компьютер.
- Проверил отмеченную версию выпуска.
- Запустил VS и присоединился к процессу.
- Разместил точки останова над некоторой частью кода.
Я получаю сообщение: «Исходный код отличается от оригинальной версии», однако это фактический код, который был скомпилирован для выпуска этой установленной версии.
Что я здесь делаю не так?
использование VS2008, если это имеет значение.
Кстати: какой механизм используется для сравнения, если двоичные файлы отличаются от исходного кода?
Например, при клонировании репозитория из Git дата всех файлов / папок будет изменена на текущую дату. Используется ли это значение (datetime) для определения исходного кода и двоичного кода?
Комментарии:
1. Мог ли ваш элемент управления версиями перепутать окончания строк?
2. Не уверен, как это действительно проверить. Я знаю, что версия была собрана с использованием TeamCity и использовала Git для проверки последнего кода, как я сделал сейчас. Поэтому код должен быть идентичным.
Ответ №1:
Проблема заключалась в том, что я не использовал (или не сохранял) исходные символы для этого выпуска.
Ранее я думал, что символы содержат только информацию о строке исходного кода и не нужны для фактической отладки программы в VS. видимо, я был неправ.
Хороший ресурс по символам для всех, кто сталкивается с проблемами с ними: http://www.wintellect.com/CS/blogs/jrobbins/archive/2009/05/11/pdb-files-what-every-developer-must-know.aspx
Этот пост также содержит несколько других ссылок на журнал MSDN с более ценной информацией.