Последствия развертывания отладочной сборки приложения? - PullRequest
7 голосов
/ 15 сентября 2010

Я хотел бы знать плюсы и минусы при принятии решения о развертывании приложения, которое было построено в Debug (с таблицей символов отладки) и в отличие от режима Release, в котором символы удаляются. Существуют и другие изменения, такие как включение оптимизации для отладки и включение символов отладки для выпуска.

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

  • Безопасность
  • Производительность
  • Стабильность

Но я не эксперт, поэтому я не уверен во всех последствиях, которые развертывание приложения Debug будет иметь для этих областей.

Это может быть неактуально, но это приложение для C # .Net framework 3.5 (бизнес-приложение, которое управляет террабайтами данных) для заинтересованных сторон. Это приложение для (платного) клиента.

Есть ли какие-либо явные преимущества или недостатки в выборе сделать это?

Ответы [ 2 ]

4 голосов
/ 15 сентября 2010

Безопасность: Отладка и выпуск управляемого кода, такого как C #, уже уязвимы, если не запутаны. Защитите свой код с помощью обфускации, в противном случае его можно легко скопировать, украсть, любой безопасности, например, взломать шифрование (в этом случае вы упомянули террабайты данных для клиента). Я ответил на вопрос об обфускации здесь . Также создайте файл ключа и подпишите свои сборки.

Производительность : Отладка определенно медленнее, никогда не должна выпускать отладочную сборку. При использовании AJAX каждый запрос страницы будет намного тяжелее, поскольку отладочная версия больше. Установите флаг отладки на false в вашем конфигурационном файле приложения, я включил несколько похожих напоминаний в этот другой вопрос .

Стабильность: Отладка использует больше памяти и может быть менее стабильной, если на сервере недостаточно памяти. Преимущество наличия отладочных библиотек в том случае, если в приложении произойдет сбой, ваши файлы pdb уже будут на месте. Лучше всего хранить отладочную версию где-нибудь в безопасности для каждой версии выпуска. Если клиент требует от вас отладки, сделайте резервную копию его папки и замените ее соответствующими сборками отладки.

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

1 голос
/ 15 сентября 2010

Вы также можете предоставить им сборку релиза с отладочной информацией.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...