Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование.doc
Скачиваний:
78
Добавлен:
12.04.2015
Размер:
5 Мб
Скачать
☆

Отладка программы

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

Каждое сообщение начинается с указания имени файла. Рассмотрим первую ошибку:

Compiling... // Компиляция

Error.cpp // Имя файла

c:\program files\microsoft visual studio\myprojects\ex_1\error.cpp(7) : // путь

error C2143: syntax error : missing ')' before 'continue'

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

Предупреждения

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

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

Первое сообщение об ошибке

Первое сообщение об ошибке (см. рис. 3.3) является вполне типичным. В данном случае программист попытался задать переменной имя (continue), зарезервированное для ключевого слова. Это хороший принцип – присваивать переменным имена, созвучные с их назначением, однако выбранное имя вступило в конфликт с ключевым словом continue, существующим в языке C/C++.

Использование команд Find и Replace

Довольно часто в процессе программирования возникают ситуации, когда нужно найти и заменить какое-то слово в тексте программы. Это можно сделать с помощью диалогового окна, открываемого командой Find. Установив курсор на слове continue выполним команду Edit / Find. Появится следующее диалоговое окно (рис. 3.4).

ВфайлеError.cpp будут последовательно найдены все указанные слова, которые могут быть исправлены. Можно поиск и замену слова выполнить быстрее, если использовать команду Edit/ Replace. В этом случае появляется следующее диалоговое окно (рис. 3.5).

Записав в поле Replace with новый идентификатор continu (рис. 3.5), можно автоматически сразу изменить идентификатор, нажав кнопку Replace All.