2012-01-26 2 views
0

Я преобразовал свое родное C++-решение vs2008 в решение vs2010 express.
Он содержит около 20 проектов, которые хорошо компилируются (большинство из них являются статическими библиотеками), но когда я пытаюсь его отладить, я получаю сообщение о том, что отладочная информация не может быть найдена или не сопоставлена.
У меня нет никаких более длинных файлов в моих проектах, и, посмотрев вкладку модулей, я вижу, что VS загружает модули из правильного местоположения.VS2010 не может соответствовать информации PDB

Что может быть причиной этого?

+0

Вы сделали __full__ чистым и перестраивать решения в VC++ 2010 после модернизация? Есть ли у вас какие-либо внешние зависимости (например, библиотеки), которые все еще построены с помощью VC++ 2008? – ildjarn

+0

Вы генерируете файлы PDB для * новых * сборок в VS 2010? –

+0

@ildjarn: Да. Я полностью его очистил. Я даже удалил весь каталог отладки, когда он не помог ... – Idov

ответ

0

Это может показаться странным решением, но вы попробовали перезапустить Visual Studio? Я тоже это испытал, и иногда перезапуск, похоже, устраняет проблему: я подозреваю, что это связано с тем, что Visual Studio держит PDB в памяти, а перезапуск заставляет его сбрасывать и повторно загружать его.

+0

нет, это не помогло. Я даже перезапустил свой компьютер:/ – Idov

+0

@ Идов Черт, стоит попробовать. Я снова посмотрю и опубликую, если найду еще одно возможное решение. –

0

Последний раз, когда я проверил, настройки PDB со статическими библиотеками (что вы упоминаете) были немного хрупкими - вполне могут быть различия в том, как vc08 vs vc10 обрабатывает значения по умолчанию и которые могут быть неправильно преобразованы.

Попробуйте проверить PDB настройки под компилятором (не компоновщик) для статической LIBS и дать им надлежащий выходной путь вместо vc10.pdb