Отладочные символы поставляются при развертывании
Интересно, почему программное обеспечение должно быть развернуто с соответствующими символами отладки. Каковы преимущества и недостатки? Есть ли код, раскрывающий проблемы (проблемы, связанные с информационной безопасностью)?
1 ответ
Решение
Вы можете скомпилировать с отладочной информацией или без нее, или в системах Unix, вы можете запустить strip
удалить отладочную информацию из скомпилированного исполняемого файла.
Отсутствие отладочной информации приведет к:
- уменьшите ваш двоичный размер. Удаление всей отладочной информации может уменьшить размер файла на 50%.
- включить больше оптимизаций компилятора. Некоторые оптимизации компилятора не работают, если вы все еще добавляете отладочную информацию.
- сделать отладку сложнее.
- Как правило, вы не хотите, чтобы ваши конкуренты и хакеры могли легче разобрать ваш продукт.
- Хотя любые файлы ядра будут менее полезны для разработчиков.
Так что в общем случае вы хотите отладочную информацию, но для QA и релиза вы, как правило, хотите ее пропустить. Если вы предоставляете библиотеки клиентам, которым вы доверяете больше, вы можете быть более склонны оставить их.