Версия выпуска C# имеет все еще .pdb файл

Я хочу развернуть версию выпуска своего приложения, сделанного в C#.

Когда я создаю использование Release конфигурация, я все еще вижу это .pdb файлы производятся, означая, что мое приложение может быть все еще отлажено. Это также означает, что некоторая отладочная информация присутствует где-нибудь в моем коде, замедляя его немного.

Если это верно, как я могу полностью подавить отладочную информацию, произведенную в двоичных файлах? Вы также знаете причину того, что она имела выпуск .pdb? Release конфигурация имеет Optimize code проверенный, и только TRACE постоянный определяется, нет DEBUG.

Спасибо за помощь.

58
задан Pooven 12 May 2016 в 09:03
поделиться

5 ответов

Если вы хотите отключить создание файла pdb, вам нужно использовать «Расширенные настройки сборки» диалоговое окно, доступное в свойствах проекта после нажатия кнопки «Дополнительно ...» », расположенной в нижней части вкладки Сборка .

Установить Вывод - Информация об отладке: от до Нет для конфигурации сборки выпуска, и файлы pdb не будут созданы.

95
ответ дан 24 November 2019 в 18:40
поделиться

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

48
ответ дан 24 November 2019 в 18:40
поделиться

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

Без использования .PDB номера строк и имена файлов не включаются в трассировки стека, что значительно затрудняет их отладку.

13
ответ дан 24 November 2019 в 18:40
поделиться

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

  • нет (без символьной информации)
  • полный (будет создан .pdb, и некоторая символьная информация будет встроена в сборку)
  • pdb-only (будет создан .pdb, но сборка не будет затронута)

См. http://msdn.microsoft.com/en-us/library/8cw0bt21%28VS.80%29.aspx для больше информации.

Я настоятельно рекомендую выбрать параметр только pdb, не параметр none, поскольку он по-прежнему дает вам некоторую информацию о символах, не влияя на сборку - вы, вероятно, обнаружите, что это - это текущая настройка ваших сборок выпуска.

13
ответ дан 24 November 2019 в 18:40
поделиться

Создание компилятором файла .pdb не является взаимоисключающим с его оптимизацией кода.

Дополнительную информацию по этой теме можно найти в блоге записях .

7
ответ дан 24 November 2019 в 18:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: