Урок №6. Режимы конфигурации «Debug» и «Release»

  Юрий  | 

  |

  Обновл. 7 Июн 2021  | 

 154426

 ǀ   20 

Конфигурация сборки (англ. «build configuration») — это набор настроек проекта, которые определяют принцип его построения. Конфигурация сборки состоит из:

   имени исполняемого файла;

   имени директории исполняемого файла;

   имён директорий, в которых IDE будет искать другой код и файлы библиотек;

   информации об отладке и параметрах оптимизации вашего проекта.

Интегрированная среда разработки имеет две конфигурации сборки: «Debug» (Отладка) и «Release» (Релиз).

   Конфигурация «Debug» предназначена для отладки вашей программы. Эта конфигурация отключает все настройки по оптимизации, включает информацию об отладке, что делает ваши программы больше и медленнее, но упрощает проведение отладки. Режим «Debug» обычно используется в качестве конфигурации по умолчанию.

   Конфигурация «Release» используется во время сборки программы для её дальнейшего выпуска. Программа оптимизируется по размеру и производительности и не содержит дополнительную информацию об отладке.

Например, исполняемый файл программы «Hello, World!» из предыдущего урока, созданный в конфигурации «Debug», у меня занимал 65 КБ, в то время как исполняемый файл, построенный в конфигурации «Release», занимал всего лишь 12 КБ.

Переключение между режимами «Debug» и «Release» в Visual Studio

Самый простой способ изменить конфигурацию проекта — выбрать соответствующую из выпадающего списка на панели быстрого доступа:

Переключение между режимами «Debug» и «Release» в Code::Blocks


В Code::Blocks на панели быстрого доступа есть также выпадающий список, где вы можете выбрать соответствующий режим конфигурации:

Заключение

Используйте конфигурацию «Debug» при разработке программ, а конфигурацию «Release» при их релизе.


Оценить статью:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (892 оценок, среднее: 4,94 из 5)
Загрузка...

Комментариев: 20

  1. Аноним:

    Не знаю можно ли задавать этот вопрос, но где режимы Debug и Release в Visual Studio Code? (Использую компилятор GCC)

    1. Николай:

      Насколько я знаю, debug от release отличается количеством #define и наличием отладочной информации в конечном бинарном файле.

      в дебаг режим под g++ обычно добавляют опцию вида -DDEBUG
      а по коду добавляют отладочные вставки

      отладочная информация нужна для дебагера gdb dbx …

      у нас в компании дефайнами не пользуются. Всегда собирают одну сборку, а когда она проходит тестирование из неё выкидывают всё лишнее командой strip <server.bin> и отправляют в релиз.

  2. Максим:

    Здравствуйте! Подскажите, данные знания и программу Visual Studio — потом можно применить для программирования контроллеров Arduino!?

    1. анон:

      Знания в программировании , да, А вот для программирования самого контролера нужна специальная программа Arduino IDE. Скачать можно на официальном сайте.

  3. Andrew:

    Здравствуйте. Спасибо, отличный курс.
    Вопрос. Как реализовать режим Release в командной строке, используя Mingw?
    Успехов. Еще раз Спасибо

    1. Ilya Marchenko:

      Чтобы реализовать Debug режим в консоли или коммандной строке используется дополнительный ключ для компилятор gcc или g++. Данный ключ "-g" (Например: gcc -g -c main.c -o NameProgramm). Включает отладочную информацию, которая пакуется внутрь исполняемого файла NameProgramm. Следовательно, делает его большего размера, но, при дебагинге такими программами как gdb сразу можно отобразить исходный код.

  4. winnie:

    Отличное изложение материала! Начал вспоминать то что когда-то пытался выучить и получил истинное удовольствие от того на сколько все просто и понятно изложено и как быстро удается восстанавливать знания и получать новые.
    Материал очень понравился, заказал и оплатил PDF файл.
    Огромное спасибо автору!

    1. Фото аватара Юрий:

      Пожалуйста))

  5. John Meow:

    Как переключаться между этими режимами в gcc/g++?

    1. Ilya Marchenko:

      Просто добавьте ключ "-g" (Пример: gcc/g++ -g -c main.c/cpp -o NameYourProgramm). Таким образом, будет включён режим Debug. Без ключа (По умолчанию) включён режим Release.

  6. Александр:

    Не понятно , зачем нужны два exe файла , полученные в режиме debug и relese?. Есть же файл проекта, в котором можно производить отладку программы. А как запустить exe файл debug для отладки? Этот момент не понятно описан.

    1. Vladimir:

      Александр, вам два файла не нужно. Каждый из них — результат компиляции и сборки исполняемого файла программы в первом случае в конфигурации Debug, а во втором — Release. Вы можете удалить их, при следующей сборки нужной конфигурации исполняемый файл сгенерируется еще раз.
      >А как запустить exe файл debug для отладки?
      Можно "натравить" отладчик из IDE на исполняемый процесс, те запущенную вами программу. Едва ли это для начинающих, но подробности можно прочитать, например, здесь https://stackoverflow.com/questions/15097610/debugging-an-executable-in-visual-studio

  7. Виталий:

    Юрий! Спасибо за грамотное, доступное изложение !
    Такое я и искал!

  8. Эзиз:

    А у меня на dev C++ стоит Release мне оставить это или нет?

  9. Владимир:

    То есть, использовать конфигурацию Debug при разработке программ чтобы искать ошибки, а release когда уже уверен что всё в порядке и можно выпускать?

  10. Дмитрий:

    В скачанном компиляторе CodeBlocks с самого начала используется Relese(на Debug переключаться не хочет), в дальнейших уроках будут возникать ошибки?

    1. Фото аватара Юрий:

      У вас последняя версия CodeBlocks? Пробовали переустанавливать?

      Ошибки не будут возникать, если вы их допускать не будете. Работать можно и в версии Release, ошибок насчет самой конфигурации Release возникать не должно.

    2. Константин:

      Поддерживаю . Как активировать строки в Меню Debug Code::Bloks 17.12?

Добавить комментарий

Ваш E-mail не будет опубликован. Обязательные поля помечены *