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