Отсутствующие символы в конкретном проекте в определенном конфиге VS 2010

Я гуглил и исследовал эту проблему некоторое время, но безуспешно. В настоящее время я работаю в Visual Studio 2010 C ++, а полученный исполняемый файл работает на Windows. Решение имеет несколько конфигураций, в которых часть кода и библиотек зависят от конфигурации, но общая структура используется всеми конфигами.

У меня проблема в том, что для определенной части конфигурации стека вызовов символы не отображаются! Отсутствующие символы находятся в определенной статической библиотеке и, похоже, согласуются для всех ссылок на эту библиотеку. Также библиотека распределяется между конфигами, и символы правильно отображаются в других конфигах.

Поэтому я хотел бы выяснить, что может быть причиной этого. Если кто-нибудь испытал это в прошлом?

Если я нажимаю «Информация о загрузке символа», я получаю одинаковый результат как в рабочей, так и в неверной конфигурации, — путь к pdb для исполняемого файла. По какой-то причине кажется, что символы для этой конкретной библиотеки не включаются в pdb. Однако создается отдельный pdb для библиотеки lib. Файлы bsc и sbr генерируются, хотя многие файлы sbr пусты.

Так что я был бы счастлив, если бы кто-то знал, как это исправить, или имел бы идеи о вещах, которые я должен попробовать или высматривать?

Большое спасибо!

1

Решение

PDB для статической библиотеки должен быть доступен и находиться в том же каталоге, что и сама статическая библиотека в момент связывания исполняемого файла. В противном случае его отладочная информация не будет включена в PDB исполняемого файла. (Невозможно использовать статическую библиотеку PDB непосредственно во время сеанса отладки.)

Если вы хотите сделать вещи более надежными, убедитесь, что у вас есть статическая библиотека, настроенная как межпроектная ссылка, а не как «зависимость проекта». Не следует вручную указывать имя библиотеки во входах компоновщика для исполняемого файла.

0

Другие решения


По вопросам рекламы [email protected]