Есть ли какая-либо причина не отправлять файлы pdb вместе с вашим приложением? - PullRequest
6 голосов
/ 18 сентября 2008

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

Пожалуйста, введите только 1 причину для комментария для голосования.

Ответы [ 6 ]

3 голосов
/ 23 июня 2009

Доставка pdb не дает дополнительного удобства пользователю. Поэтому нет причин отправлять файлы pdb вместе с приложением. К тому же файл pdb обычно имеет большой размер.

Вместо доставки файлов pdb следует использовать локальный сервер Microsoft Symbol Server для быстрого доступа к файлам pdb, соответствующим отчетам об ошибках. Здесь вы можете найти подробное объяснение того, как использовать Symbol Server.

2 голосов
/ 18 сентября 2008

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

2 голосов
/ 18 сентября 2008

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

Очевидно, что если вы используете какой-либо приличный обфускатор (лично мне нравится {smartassembly}, но из-за отсутствия перекрестного запутывания), то вы потеряете все его защиты только для добавленной стоимости номеров строк, что не совсем справедливый компромисс.

В любом случае, номера строк переоценены!

1 голос
/ 18 сентября 2008

Кроме того, что они чрезвычайно тяжелы в любом серьезном проекте? Нет, нет причин, если вы не против того, чтобы люди занимались реинжинирингом вашего программного обеспечения.

1 голос
/ 18 сентября 2008

Доставка PDB с вашим приложением упрощает обратный инжиниринг, так как содержит локальные имена переменных / объектов, прототипы функций и т. Д.

0 голосов
/ 18 сентября 2008

Зачем вам отправлять что-то больше, чем нужно?

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