Шаг 262.
Среда программирования Visual C++.
Отладка программы. Отладочная и финальная версии

    На этом шаге мы рассмотрим понятия отладочной и финальной версии приложения.

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


    Замечание. Результатом выполнения кода, оптимизированного компилятором, иногда становится непредсказуемое поведение отладчика. Если при отладке появляются странные ошибки, убедитесь, что оптимизация кода для отладочной конфигурации отключена. Оптимизация настраивается на вкладке C/C++ диалогового окна Project Settings.


Рис.1. Окно Project Settings


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

    На следующем шаге мы рассмотрим отладочные макросы MFC.




Предыдущий шаг Содержание Следующий шаг