Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metodichka_lab1.doc
Скачиваний:
36
Добавлен:
13.11.2018
Размер:
6.74 Mб
Скачать

1.5. Создание исполняемого файла

Для создания исполняемого файла рекомендуется использовать команду меню Build> Rebuild Solution.

Если в программе были допущены синтаксические ошибки, то сообщения о них будут отображаться на вкладке Build окна Output (рис. 11).

Рис. 11.Окно Output с сообщением об ошибках

Сообщение об ошибке включает в себя:

- номер ошибки;

- категорию ошибки (warning — предупреждение, error — ошибка);

- краткое описание;

- имя файла;

- номер сроки, в которой содержится ошибка или предупреждение.

В рассматриваемом примере суть ошибки, находящейся в пятой строке, заключается в том, что идентификатор cou не определен.

Предупреждающие сообщения могут появляться в тех случаях, когда компилятор автоматически выполняет некоторые стандартные преобразования и сообщает об этом программисту. Например, если переменной типа int (целое число) присваивается дробное значение, то автоматически происходит округление. Это не означает, что в программе допущена ошибка, но поскольку преобразование типов данных выполняется незаметно для программиста, компилятор считает своим долгом сообщить об этом. Большинство функций, объявленных в файле math.h, принимают аргументы и возвращают значения типа double (действительное число двойной точности). Если программа передаст одной из таких функций аргумент типа float (действительное число одинарной точности), компилятор, прежде чем направить данные в стек аргументов функции, выведет предупреждающее сообщение о том, что тип данных float преобразован в double.

Для обнаружения строки в исходном тексте программы, которая вызвала ошибку, необходимо установить курсор на строку сообщения и нажать клавишу Enter или выполнить двойной щелчок мышкой. Курсор в окне редактирования будет автоматически помещен в строку программы, вызвавшую появление сообщения об ошибке, а слева от строки появится указатель (рис. 11).

После устранения ошибки можно повторно использовать команду меню Build> Rebuild Solution (рис. 12).

Рис. 12. Окно Output после повторного сеанса построения проекта

Если проанализировать содержимое окна Output, то можно увидеть, что процесс построения исполнительного модуля программы включает в себя трансляцию (Compiling) исходного текста программы и связывание (Linking) всех составляющих проекта в исполняемый модуль. Результатом работы транслятора и компоновщика являются файлы, имеющие расширение *.obj и *.exe соответственно. Ошибки могут возникать как на этапе трансляции, так и на этапе построения исполняемого модуля.

1.6. Запуск и отладка программы

После успешного построения исполняемого модуля, его можно запустить на выполнение. Для этого, следует активизировать в меню Debug команду Start Without Debugging или нажать Ctrl+F5. Если на этапе выполнения не возникло ошибок, то на экране дисплея появится консольное окно с результатом (рис. 13).

Рис. 13. Результат работы программы

Ошибки, возникающие на этапе выполнения, устраняются средствами отладки среды MDE. Они включают в себя точки останова, окна предварительного просмотра состояния переменных и пошаговое выполнение программы.

Для демонстрации средств отладки, внесем небольшое изменение в исходный текст программы и создадим точку останова на седьмой строчке программы (рис. 14).

Рис. 14. Создание точки останова

Точки останова создаются с помощью диалогового окна New Breakpoints, вызываемого командой New Breakpoints меню Debug или контекстного меню. Наличие цветного кружка в начале строки говорит о наличии точки останова в этом месте (рис. 15.).

Рис. 15. Окно просмотра состояния переменной sZ

После размещения точек останова можно активизировать команду Start меню Debug или нажать F5. На строке, где размещена точка останова, выполнение программы прервется. Далее с помощью команды Windows меню Debug можно вызвать окно Locals и просмотреть содержимое переменной sZ (рис. 15). В данном случае можно убедиться, что транслятор в конец строковой переменной вставляет нуль.

Далее выполнение программы можно продолжать в пошаговом режиме. Пошаговый режим выполнения программы сопровождается указателем трассировки (контурная стрелка в начале строки) и активизируется командами Step Into (F11) и Step Over (F10) меню Debug. Различия между командами появляются только тогда, когда в программе встречается вызов функций. Если выбрать команду Step Into, то в функции отладчик начинает выполнять все операторы шаг за шагом. При выборе команды Step Over отладчик выполняет функцию как единое целое.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]