Поделиться через


Файл базы данных программы (C++)

Этот раздел применим к:

Выпуск

Visual Basic

C#

F#

C++

Web Developer

Express

Тема не применяется Тема не применяется Тема не применяется Тема применяется Тема не применяется

Pro, Premium и Ultimate

Тема не применяется Тема не применяется Тема не применяется

Тема применяется

Тема не применяется

Файл базы данных программы (PDB) содержит отладочные данные и сведения о состоянии проекта, позволяющие выполнять последовательную компоновку отладочной конфигурации программы. PDB-файл создается при построении с параметрами /ZI или /Zi (для С/С++).

В Visual C++ параметр /Fd определяет имя PDB-файла, созданного компилятором. При создании проекта в Visual Studio с использованием мастеров параметр /Fd устанавливается, чтобы создать PDB-файл с именем <проект>.PDB.

При построении приложения на C/C++ с использованием файла makefile и заданием /ZI или /Zi без /Fd получаются два PDB-файла:

  • VC70.PDB   (В более общем случае — VCx0.PDB, где x означает версию Visual C++.) Этот файл хранит все отладочные данные для отдельных OBJ-файлов и располагается в том же каталоге, что и файл makefile.

  • project.PDB Этот файл хранит все отладочные данные для исполняемого файла. Для С/С++ он располагается в подкаталоге \debug.

Каждый раз, создавая OBJ-файл, компилятор C/C++ включает отладочную информацию в VCx0.PDB. Вставляемая информация включает информацию о типах, но не включает символьную информацию, такую как определения функций. Таким образом, даже если файл источника включает общие файлы заголовков, такие как <windows.h>, определения типов из этих заголовков сохраняются только один раз, а не для каждого OBJ-файла.

Компоновщик создает файл project.PDB, который содержит отладочные данные для исполняемых файлов проекта. Файл проект.PDB содержит полные отладочные данные, включая прототипы функций, а не только сведения о типе, содержащиеся в VCx0.PDB. Оба PDB-файла позволяют осуществлять добавочное обновление. Компоновщик также включает путь к PDB-файлу в EXE-файл или DLL, который создает.

Отладчик Visual Studio использует путь к PDB в EXE-файле или DLL, чтобы найти PDB-файл проекта. Если отладчик не может найти PDB-файл по этому пути или если путь является недопустимым (например, если проект был перемещен на другой компьютер), отладчик ищет путь, содержащий исполняемый EXE-файл, за которым следует путь к символам, указанный в диалоговом окне Параметры (папка Отладка, узел Символы). Если отладчик не может найти PDB-файл, открывается диалоговое окно Поиск символов, позволяющее найти символы или добавить дополнительные местоположения в путь поиска.

Важно!

Отладчик загружает только базу данных PDB для двоичного файла, точно соответствующую базе данных PDB, созданной при построении двоичного файла (то есть, эта база данных PDB должна быть оригиналом или копией).Так как при создании двоичного файла компилятор учитывает целый ряд факторов, фактическая структура двоичного файла может изменяться даже при неизменном коде.Дополнительные сведения см. в записи блока MSDN Почему Visual Studio требует, чтобы файлы символов отладчика *точно* соответствовали двоичным файлам, с которыми они были построены?

См. также

Основные понятия

Файлы баз данных программ (C#, F# и Visual Basic)

Другие ресурсы

Параметры отладки и подготовка

Журнал изменений

Дата

Журнал

Причина

Март 2011

Добавлены сведения и ссылка для требования о точном соответствии базы данных PDB.

Улучшение информации.