Мне просто интересно, имеет ли удаление программного файла больше преимуществ, чем просто экономия места на диске.
Основное преимущество в подавляющем большинстве случаев - это просто экономия места на диске. Второстепенное и гораздо более сомнительное преимущество состоит в том, что он также затрудняет дизассемблирование или обратное проектирование двоичного кода. Это также может немного уменьшить объем памяти, хотя во многих случаях это будет незначительная экономия.
Самый большой недостаток в том, что это значительно усложняет отладку, если вы столкнетесь с проблемой.
В современной системе с такими скоростями процессора и объемом памяти / диска, каким они являются, удаление двоичного файла практически не повлияет на производительность. Это действительно об отладке, «чистоте» и личных предпочтениях. Некоторые люди предпочитают всегда использовать урезанные двоичные файлы для производства или «поставляемого» программного обеспечения. Некоторые люди предпочитают всегда оставлять символы включенными, «на всякий случай».
Лично я предпочитаю включать символы. У меня была пара действительно удручающие ситуации в течение года, когда коммерческое приложение отказывалось от ошибок (или иначе падало), и у меня не было возможности точно определить, где была проблема, потому что двоичные файлы были удалены. По крайней мере, в некоторых из этих случаев поставщик в конечном итоге отправил мне версию без очистки для работы, пока она снова не вылетела, чтобы мы могли получить более полезную отладочную информацию. Если бы вначале они предоставили версию без разборки, мы могли бы решить проблему быстрее и с меньшим временем простоя.
вы можете скомпилировать программное обеспечение с символами отладки для тестирования, а затем просто вырезать их для развертывания. если ваши отладочные символы раскрывают то, что вы не хотели бы раскрывать, это может быть вам полезно