Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OP_2015 / ОП. Методические указания / 4. ОП. ЛР1. Ч1-2. Консольный режим Turbo Delphi.doc
Скачиваний:
38
Добавлен:
23.03.2016
Размер:
6.44 Mб
Скачать

Задание 2

Изучить диагностические сообщения Turbo Delphi.

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

Таблица – Диагностические сообщения

Ошибка

Физический смысл ошибки

Проявление

ошибки

Расшифровка сообщения

Этап

1.

Var AB, C,

X1, X2, D, E;

Вместо переменных A и B описана переменная AB

Получено сообщение: Undeclared identifier: 'A'

Не объявлена переменная A

Компиляция

2.

Readln(A,B,C)

3.

E=2*A;

4.

D:=spr(B)-4*A*C;

Вызвана несуществующая функция

5.

Исходные

данные: 0 1 3

6.

Исходные

данные: 1 1 3

7.

{ E:=2*A; }

Пропущена строка вычислений

8.

Read(A,C);

Не определено (не введено) значение B

Примечание – В процессе работы в среде Turbo Delphi создаются сле­ду­ю­щие файлы:

<Имя проекта>.bdsprojфайл настроек Borland Developer Studio Project File;

<Имя проекта>.bdsproj.localфайл настроек Delphi

<Имя проекта>.dpr – исходный файл;

<Имя проекта>.cfg файл конфигурации – опции компилятора и компоновщика;

<Имя проекта>.exe – исполняемый файл.

Кроме этого будет создана скрытая папка __history, которая будет хранить копии измененных файлов.

Если в процессе работы создаются библиотечные файлы (Unit), то они будут иметь расширение <Имя файла>. pas. Все файлы будут созданы в той папке, где был сохранен и сам проект (см. пункт 3 выше)

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

Средства отладки Delphi

Компилятор и компоновщик находят не все ошибки программы. После них в программе могут остаться логические ошибки, ошибки в формулах и т.д. Для локализации этих ошибок обычно осуществляют пошаговое выполнение программы с начала или с заданной точки с одновременным контролем значений всех или выбранных переменных.

Управление пошаговым выполнением программы. Для входа в режим пошагового выполнения необходимо запустить программу, используя пункт меню Run/Step Over (F8) или Run/Trace Info (F7). Первый означает, что необходимо выполнить шаг, не заходя в подпрограммы, вызываемые на данном шаге. Второй предполагает, что в подпрограмму надо зайти. Если на данном шаге подпрограммы не вызываются, то соответствующие режимы неразличимы. В дальнейшем используется тот пункт меню, который вызывает необходимую операцию. Кроме того, в состоянии отладки можно:

Run/Run Until Return (Shift+F8) – завершить выполнение под­программы;

Run/Run (F9) – выполнить программу до конца;

Run/Program Reset (Ctrl+F2) – прекратить процесс отладки.

Для входа в пошаговый режим можно также использовать пункт меню Run To Cursor (F4), при выборе которого программа выполняется до строки, в которой установлен курсор.

Просмотр значений переменных в окне Watch. В режиме пошагового выполнения существует возможность просмотра значений переменных. Для этого следует перейти на панель Watch List (см. рисунок 8). Для добавления имени переменной в окно просмотра можно вызвать контекстное меню, щелкнув правой кнопкой мыши в области окна Watch List, и выбрать в нем пункт Add Watch. На экране появляется окно Watch Properties. В этом окне вводим имя переменной, например, «D» (см. рисунок 9). Тип переменной среда определяет автоматически, однако, если переменную необходимо показывать в каком-либо особом виде, то тип следует определить, поставив точку напротив выбранного типа среди указанных на выделенной панели окна.

Теперь при остановке в любой точке программы в окне Watch List можно видеть значение переменной D в этот момент. В процессе отладки значения переменных просчитывают вручную и сравнивают со значениями, по­лу­ча­емыми в процессе работы программы. Контекстное меню позволяет не толь­ко добавить переменную в окно наблюдения, но и скорректировать ее имя (Edit Watch) или указать способ отображения, а также удалить ее (Delete Watch).

Рисунок 8 – Окно просмотра значений

Рисунок 9 – Определение имени просматриваемой переменной

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

Рисунок 10 – Добавление/удаление точек останова

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

Просмотр текущих значений переменных. Текущие значения пере­менных во время выполнения программы можно просматривать, указывая во время остановки на соответствующую переменную курсором (см. рисунок 11).

Рисунок 11 – Просмотр значений переменных, указанных курсором