Я бы построил с pdb-only
.Вы не сможете прикрепить отладчик к выпущенному продукту, но если вы получите аварийный дамп, вы можете использовать Visual Studio или WinDBG для проверки трассировки стека и дампов памяти во время сбоя.
Если вы выберете full
вместо pdb-only
, вы получите те же преимущества, за исключением того, что исполняемый файл можно подключить непосредственно к отладчику.Вам необходимо определить, является ли это разумным, учитывая ваш продукт и клиентов.
Обязательно сохраните файлы PDB где-нибудь, чтобы вы могли ссылаться на них при поступлении отчета о сбое. Если вы можете настроить сервер символов для хранения этих символов отладки, тем лучше.
Если вы решите строить с none
, у вас не будет возможности обратиться, если в поле произойдет сбой.Вы не сможете выполнить какой-либо анализ после аварии факта, который может серьезно помешать вашей способности отследить проблему.
Примечание о производительности:
Оба Джон Роббинс и Эрик Липперт написали в блоге сообщения о флаге /debug
, и оба они указывают, что этот параметр имеет ноль влияние на производительность .Существует отдельный флаг /optimize
, который указывает, должен ли компилятор выполнять оптимизацию.