Visual Studio 2008: файлы .pdb не созданы "Build Solution" - PullRequest
3 голосов
/ 12 января 2011

У меня есть решение Visual Studio 2008, содержащее ряд проектов на C ++.Когда я выбираю конфигурацию Debug и строю каждый проект отдельно, я нахожу файлы .pdb для каждого проекта в каталоге Debug.Но когда я строю полное решение, я не делаю.Выходные файлы отображаются в каталоге Debug, но файлы .pdb отсутствуют.

Есть идеи?

Ответы [ 3 ]

8 голосов
/ 10 апреля 2012

Посмотрите на «Свойства проекта»> «Компилировать» - нажмите «Дополнительные параметры компиляции», откроется новое окно, найдите «Создать отладочную информацию», и вы можете выбрать «Нет», «Только pdb» или «Полный» - если нет, тогда это будет причиной, по которой вы этого не сделаете.есть pdb

5 голосов
/ 19 января 2011

Построение всего решения действительно строит отдельные проекты (параллельно, если это возможно). Строящаяся конфигурация проекта указывается в Диалоговое окно Configuration Manager . Здесь также указывается, построен ли проект вообще или он будет исключен из сборки в конфигурации этого решения.

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

Если это не помогло, включите подробный вывод для процесса сборки:

Инструменты> Параметры> Проекты и решения> Построение и запуск> Детализация выходных данных сборки проекта MSBuild: диагностика

Кроме того, дважды проверьте все зависимости проекта на предмет недействительных ссылок.

0 голосов
/ 16 января 2011

Что ж, в вашем проекте многое сказано, но вы нам об этом не говорите.Однако эта ссылка может содержать некоторые подсказки:

http://msdn.microsoft.com/en-us/library/ms241903.aspx

Исходя из этого, я заметил, что, поскольку pdb предназначен для инкрементных ссылок, возможно, компилятор считает, что они не нужны, посколькуон выполняет окончательное связывание как часть сборки.

Кроме того, поскольку путь EXE является одним из мест, где ищутся PDB.,,есть ли шанс, что они вместо этого находятся в этом каталоге?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...