Нужно ли развертывать файл .pdb с компиляцией при выпуске? - PullRequest
48 голосов
/ 03 марта 2009

Нужно ли развертывать файл .pdb с компиляцией при выпуске?

Почему он вообще компилирует .pdb, когда вы делаете сборку релиза?

Ответы [ 11 ]

36 голосов
/ 03 марта 2009

Нет, вам не нужно их развертывать.

Что касается того, почему они даже встроены в релиз. Файл PDB действительно имеет пару применений, но основными (по крайней мере для меня) являются

  1. Debugging
  2. Профилирование

Обе эти задачи корректно выполняются на двоичных версиях выпуска, поэтому сборки выпуска включают PDB. Фактически, при отладке дампов Watson это 100% времени против сборки релиза. Без PDB мне пришлось бы прибегнуть к разборке :(

10 голосов
/ 03 марта 2009

Вам не нужно развертывать и распространять файлы PDB вместе с вашими двоичными файлами.

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

6 голосов
/ 03 марта 2009

При желании вы также можете отключить генерацию файла PDB в опциях компиляции.

4 голосов
/ 03 марта 2009

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

3 голосов
/ 03 марта 2009

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

2 голосов
/ 03 марта 2009

Неа. Вам не нужно распространять их. Это поможет с отладкой (или я должен сказать, что это сделает отладку возможной для здравомыслящих людей).

Вы также можете отключить или настроить «уровень» символов, сгенерированных в Visual Studio - просто перейдите на вкладку «Свойства проекта» / «Построить» / «Дополнительно» и внесите изменения в поле «Информация об отладке».

1 голос
/ 03 марта 2009

Как большинство людей в этой теме сказали: нет, вам не нужно отправлять файлы PDB; но на самом деле вы должны, если вы когда-нибудь намереваетесь выпустить код на волю.

Это действительно возможность поддерживать ваше приложение. Без PDB, когда ваше приложение аварийно завершает работу, все, что ваш пользователь сможет сказать вам, это необработанный адрес памяти, где произошло сбой приложения; но с файлом PDB вы получаете ошибку, с которой можно что-то делать.

0 голосов
/ 03 марта 2009

Вам не нужны они для запуска.

Файлы pdb можно использовать для отладки, даже если сборка находится в конфигурации выпуска.

0 голосов
/ 03 марта 2009

Некоторые инструменты, такие как InterceptStudio в AVICode, используют файлы pdb для просмотра источника определенного исключения / трассировки стека / локального изнутри инструмента, вместо того, чтобы открывать источник и переходить к определенной строке.

0 голосов
/ 03 марта 2009

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

...