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

Что такое файл PDB и как я могу исключить его из папки выпуска, когда перестраиваю свое решение?

4 ответа

Решение

Файл PDB содержит информацию для работы с отладчиком. В любом случае в сборке Release меньше информации, чем в сборке Debug. Но если вы хотите, чтобы он вообще не генерировался, перейдите в свойства Build вашего проекта, выберите конфигурацию выпуска, нажмите "Advanced..." и в "Debug Info" выберите "None".

Первоначально я задавал себе вопрос "Нужен ли файл PDB, развернутый на компьютере моего клиента?", И после прочтения этого поста решил исключить этот файл.

Все работало нормально, до сегодняшнего дня, когда я пытался выяснить, почему окно сообщения, содержащее Exception.StackTrace отсутствовал файл и информация о номере строки - необходим для устранения неполадок исключения. Я перечитал этот пост и нашел ключевой фрагмент информации: что, хотя для запуска приложения нет необходимости в PDB, необходимо, чтобы номера файлов и строк присутствовали в StackTrace строка. Я включил файл PDB в исполняемую папку, и теперь все в порядке.

PDB - это аббревиатура для программы D ata B ase. Как следует из названия, это хранилище (постоянное хранилище, такое как базы данных) для хранения информации, необходимой для запуска вашей программы в режиме отладки. Он содержит много важной релевантной информации, необходимой при отладке вашего кода (в Visual Studio), например, в каких точках вы вставили точки останова, когда вы ожидаете, что отладчик сломается в Visual Studio.

По этой причине Visual Studio часто не может достичь точек останова, если вы удаляете файлы *.pdb из папок отладки. Отладчик Visual Studio также может сообщить вам точный номер строки файла кода, в котором произошло исключение в трассировке стека с помощью файлов *.pdb. Таким образом, файлы pdb действительно полезны для разработчиков при отладке программы.

Как правило, не рекомендуется исключать создание файлов *.pdb. С максимальной точки зрения выпуска продукта вам следует создать файлы pdb, но не отправлять их на сайт клиента в установщике продукта. Сохраните все сгенерированные файлы pdb на сервере символов, откуда он может использоваться / использоваться в будущем при необходимости.Специально для случаев, когда вы устраняете проблемы, такие как сбой процесса.Когда вы начнете анализировать файлы аварийного дампа и если ваши исходные файлы *.pdb, созданные во время процесса сборки, не будут сохранены, Visual Studio не сможет разобрать точную строку кода, которая вызывает сбой.

Если вы все же действительно хотите полностью отключить генерацию файлов *.pdb для любого выпуска, перейдите в свойства проекта -> вкладка "Сборка" -> нажмите кнопку "Дополнительно" -> выберите "Нет" в поле "Отладочная информация" -> нажмите ОК, как показано на снимке ниже.

Нет Отладочная информация для проекта C

Примечание. Этот параметр необходимо будет выполнить отдельно для конфигураций сборки "Debug" и "Release".

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

Вы можете отключить создание файлов pdb в Visual Studio. Если вы строите из командной строки или сценария, то опустите /Debug переключатель.

Файл базы данных отладки программы (pdb) - это формат файла Microsoft для хранения отладочной информации.

Когда вы создаете проект с использованием Visual Studio или командной строки, компилятор создает эти файлы символов.

Проверьте документы Microsoft

Другие вопросы по тегам