На этом шаге мы рассмотрим понятия отладочной и финальной версии приложения.
С отладочной версией приложения Вы работаете на стадии разработки и тестирования, стараясь исправить все ошибки. Она содержит символьную информацию, помещаемую компилятором в объектный файл. Обращаясь к файлам с исходным кодом и с символьной информацией, отладчик связывает каждую строку текста программы с двоичной инструкцией в исполняемом файле. Отладчик запускает исполняемый файл, но, чтобы показать работу программы, использует исходный код.
Рис.1. Окно Project Settings
Финальная версия продукта скомпилирована с оптимизацией и предназначена для поставки пользователям. Она содержит только исполняемые инструкции без символьной информации. Вы можете запустить такую версию программы в отладчике, но он предупредит Вас, что в файле отсутствует символьная информация. Кстати, отладочную версию разрешается запускать и вне отладчика. Это имеет практическое значение из-за такой функции Visual C++, как отладка по запросу. Если в программе возникает необрабатываемое исключение, системный механизм SEH возвращает управление Visual C++, где и запускается отладчик. Он показывает вызвавшую сбой инструкцию и отображает данные на момент останова.
На следующем шаге мы рассмотрим отладочные макросы MFC.