Версия выпуска C# все еще есть.PDB-файл
Я хочу развернуть выпускную версию моего приложения, выполненную на C#.
когда я строю с помощью Release
config, я все еще вижу, что .pdb
файлы создаются, что означает, что мое приложение все еще может быть отлажено. Это также означает, что некоторая отладочная информация присутствует где-то в моем коде, немного замедляя его.
если это правда, как я могу полностью подавить любую отладочную информацию, созданную в двоичных файлах? Вы также знаете причину наличия отпустите .pdb
? Элемент Release
конфигурация Optimize code
проверил, и только TRACE
константа определена, а не DEBUG
.
Спасибо за помощь.
5 ответов:
если вы хотите отключить генерацию файлов pdb, вам нужно использовать
"Advanced build settings"
диалоговое окно, доступное в свойствах проекта после нажатия кнопки"Advanced..."
кнопка " расположена в нижней частиBuild
tab.Set
Output - Debug info:
доNone
для конфигурации сборки выпуска и файлов pdb не будет создано.
по умолчанию также создается PDBs для сборки релизов. Это функция, и вы не должны ее отключать. Создание PDBs означает, что вы можете получить дополнительную информацию при отладке. Наличие PDB-файлов никоим образом не влияет на производительность кода.
вы управляете генерацией pdb / символов в свойствах проекта в разделе Build - > Advanced... - >Отладочная информация:. Возможны следующие варианты:
- нет (нет информации о символе)
- полное (a .pdb будет создан, и некоторая информация о символах будет встроена в сборку)
- pdb-only (a .pdb будет создан, но сборка не будет затронута)
посмотреть http://msdn.microsoft.com/en-us/library/8cw0bt21%28VS.80%29.aspx для получения дополнительной информации.
Я сильно рекомендуем выбрать опцию pdb-only,не опция none, поскольку она по - прежнему дает вам некоторую информацию о символах, не затрагивая сборку-вы, вероятно, обнаружите, что это текущая настройка, которую вы имеете в своих сборках выпуска.
вы не должны грузить .PDBs с вашим развертыванием выпуска, но они полезны для сохранения - например, вы можете удаленно отлаживать код, запущенный на другом компьютере, используя PDBs на вашем компьютере, чтобы получить номера строк, где происходят исключения.
без использования .PDBs, номера строк и имена файлов не включены в stacktraces, поэтому их гораздо сложнее отлаживать.