Что такое PDB-файл?

Что такое файлы PDB внутри файлов .NET dll и что они делают? Обычно люди удаляют этот файл при развертывании и сохраняют только файл dll в папках lib, но, похоже, ничего не произошло, и все работает хорошо...


person Afshin Mehrabani    schedule 26.06.2012    source источник
comment
См. Управление символами и исходным кодом для обсуждения файлов базы данных программы.   -  person Damien_The_Unbeliever    schedule 26.06.2012


Ответы (5)


Файл базы данных программы не имеет ничего общего с добавочной компоновкой и состоянием проекта! Файлы PDB используются для сопоставления EXE с SOURCES. Они используются для отладки и выпуска двоичных файлов. Вот статья, что объясняет эту привязку между исполняемым образом и его PDB-файлом.

person mox    schedule 28.06.2012

Файлы PDB хранят информацию, которая позволяет вам отлаживать приложение.

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

person tehlexx    schedule 26.06.2012
comment
+1 голос. Спасибо за ваш ответ, но я не могу отметить все ответы как правильные. - person Afshin Mehrabani; 26.06.2012


В .NET он в основном просто хранит информацию о символах для локальных переменных (и информацию о области также IIRC).

person leppie    schedule 26.06.2012
comment
Можно поподробнее о символах? - person J.S. Orris; 13.12.2017

Файл базы данных программы (PDB) содержит информацию об отладке и состоянии проекта, которая позволяет выполнять инкрементную компоновку конфигурации отладки вашей программы. Файл PDB создается при компиляции программы C/C++ с /ZI или /Zi или программы Visual Basic/C#/JScript .NET с /debug. Каждый раз при создании файла OBJ компилятор C/C++ объединяет отладочную информацию с файлом VCx0.PBD. Вставленная информация включает информацию о типе, но не включает информацию о символах, такую ​​как определения функций. Таким образом, даже если каждый исходный файл включает общие файлы заголовков, такие как , определения типов из этих заголовков сохраняются только один раз, а не в каждом файле OBJ.

person Community    schedule 26.06.2012
comment
Это неправильно! PDB не имеет ничего общего с информацией о состоянии проекта и добавочной компоновкой. PDB содержит такие символы, как определения. Смотрите более подробную информацию ниже от mox. - person mox; 28.06.2012
comment
Похоже на копию + вставку msdn.microsoft.com/ en-us/library/yd4f8bd1(vs.71).aspx - person michaelmsm89; 29.10.2015