Отладочные символы поставляются при развертывании

Интересно, почему программное обеспечение должно быть развернуто с соответствующими символами отладки. Каковы преимущества и недостатки? Есть ли код, раскрывающий проблемы (проблемы, связанные с информационной безопасностью)?

1 ответ

Решение

Вы можете скомпилировать с отладочной информацией или без нее, или в системах Unix, вы можете запустить strip удалить отладочную информацию из скомпилированного исполняемого файла.

Отсутствие отладочной информации приведет к:

  • уменьшите ваш двоичный размер. Удаление всей отладочной информации может уменьшить размер файла на 50%.
  • включить больше оптимизаций компилятора. Некоторые оптимизации компилятора не работают, если вы все еще добавляете отладочную информацию.
  • сделать отладку сложнее.
    • Как правило, вы не хотите, чтобы ваши конкуренты и хакеры могли легче разобрать ваш продукт.
    • Хотя любые файлы ядра будут менее полезны для разработчиков.

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

Другие вопросы по тегам