Почему бы не всегда создавать выпуск с отладочной информацией?C++

Программы на C++. Форум разработчиков
Anonymous
Почему бы не всегда создавать выпуск с отладочной информацией?

Сообщение Anonymous »

Если отладочная информация хранится в базе данных программы (а не как часть исполняемого файла), есть ли причина не всегда использовать ее для сборки (например, /Zi MSVC)?

В CMake конфигурациями по умолчанию являются «Выпуск», «Отладка», «RelWithDebInfo» и «MinSizeRel». Есть ли причина не использовать только «Debug» и «RelWithDebInfo» (возможно, переименованный в «Release»)?

Оказывает ли это какое-либо влияние на размер или производительность код? Отличается ли ответ для gcc или clang от ответа для Visual C++?

Обновить

Я встречал похожие сообщения:
  • Что-то не так с выпуском программного обеспечения в режиме отладки?
  • Отладка против RelWithDebInfo
Однако ни один из этих вопросов не подходит к вопросу о выпуске и RelWithDebInfo.

Да. Я мог бы протестировать исполняемый файл с помощью Release и RelWithDebInfo. Это определенно дало бы мне ответ о размере кода, но было бы очень сложно сделать вывод, что это НИКАКОГО влияния на производительность не оказывает, если бы мой тестовый пример показал аналогичную производительность. Как я узнаю, что использовал те аспекты языка, на которые могут повлиять изменения? То есть эмпирическое тестирование может дать ложноотрицательный результат.

Подробнее здесь: https://stackoverflow.com/questions/477 ... debug-info

Вернуться в «C++»