Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы прог TURBO PASCAL.doc
Скачиваний:
18
Добавлен:
11.11.2018
Размер:
580.61 Кб
Скачать

Методика отладки программ с циклами

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

  • имя файла;

  • номер строки, в которой производится проверка;

  • логическое условие останова программы;

  • число проходов заданной строки.

Контрольные точки можно задавать двумя способами:

  1. с помощью опции Debug/Add Breakpoint;

  2. с помощью команды Ctrl + F8 (из активного окна редактора).

Опция Add Breakpoint вызывает одноименное диалоговое окно, которое содержит четыре поля: Condition, Pass count, File name, Line number.

!! Откройте диалоговое окно Add Breakpoint.

Примечание. В дальнейшем указания на выполнение заданий будут помечаться знаком !! и выделяться курсивом.

В поле File name по умолчанию установлено имя файла программы. Его при необходимости можно заменить, если контрольную точку требуется установить в другой программе.

В поле Line number установлен номер текущей строки, т.е. строки, содержащей в данный момент курсор. Его также можно заменить на номер строки, в которой требуется осуществить останов программы.

В поле Condition при необходимости вводится логическое условие останова программы (по умолчанию оно пусто). В качестве условия можно указать любое допустимое логическое выражение, которое будет вычисляться в ходе выполнения программы.

В поле Pass count вводится количество проходов заданной строки, после которого начнется проверка логического условия. По умолчанию число проходов устанавливается равным нулю.

!! Закройте диалоговое окно Add Breakpoint.

При введении контрольной точки с помощью команды Ctrl + F8 необходимо подвести курсор к нужной строке и нажать указанную комбинацию клавиш. В результате параметры контрольной точки устанавливаются по умолчанию (как в Add Breakpoint). Повторное нажатие Ctrl + F8 снимает (удаляет) контрольную точку.

При обоих способах установка контрольной точки приводит к выделению заданной строки красным цветом. В программе можно установить произвольное количество контрольных точек.

!! Откройте файл Tab_1.pas и установите контрольную точку в строке 21 командой Ctrl + F8.

Для просмотра и редактирования контрольных точек используется опция Debug/Breakpoints.

!! Откройте меню Debug и выберите опцию Breakpoints.

В диалоговом окне этой опции приводится список всех контрольных точек с указанием

  1. имени файла (колонка Breakpoint list);

  2. номера строки (колонка Line #), с которой связана контрольная точка;

  3. условия (колонка Condition), при выполнении которого происходит останов программы;

  4. количества обращений к строке с контрольной точкой (колонка Pass), после которого начинает осуществляться проверка логического условия.

В диалоговом окне имеется ряд кнопок управления (командных полей): OK, Edit, Delete, View, Clear all, Help.

С помощью командного поля Edit можно открыть диалоговое окно Edit Breakpoint. Оно содержит такие же поля, как и Add Breakpoint. В них можно ввести новые параметры контрольной точки. В диалоговом окне имеются также две кнопки управления: Modify и New. При нажатии кнопки Modify осуществляется замена существующей контрольной точки, а при нажатии кнопки New вводится новая точка останова.

Командное поле Delete используется для удаления текущей точки, а поле Clear all - для удаления всех контрольных точек. С помощью кнопки View осуществляется выход в окно редактора в место выбранной точки останова.

!! Отредактируйте контрольную точку с помощью Edit Breakpoint, введя в поле Condition условие i = j , а в поле Pass count - число проходов равное 2.

После запуска программы (Ctrl + F9) отладчик прекратит исполнение программы перед выполнением того оператора, который содержится в первой (по логике программы) контрольной точке. При этом контрольная точка будет игнорироваться до тех пор, пока значение заданного в ней логического выражения не окажется равным true и не будет выполнено заданное количество обращений к строке останова.

Если контрольная точка задана для строки, не содержащей исполняемого оператора, например, для строки со словом begin, программа остановится перед первым после этой строки исполняемым оператором.

После прерывания выполнения программы на экране появится окно редактора с точкой останова. Затем можно применить пошаговую отладку с просмотром в окне Watch, ввести другие контрольные точки или запустить программу на дальнейшее выполнение.

!! Откройте окно Watch, введите в него переменные i, j, x[i], y[j], f[i,j] и запустите программу на выполнение (исходные данные взять из приложения). После останова в заданной точке осуществите пошаговую отладку программы.