Реферат: Отладка программ пользователя в Tubro Pascal

Write ( List [I] : 8 );

Readln

end. {программа Test.Sort}

Как уже говорилось, идея была в том, чтобы обойти первоначальный цикл и начать трассировку с вызова процедуры Sort. Новый вариант. Передвиньте курсор на строку с вызовом процедуры и выполните команду Debug/Toggle Breakpoint ( Ctrl-F8), которая отметит строку, как точку прерывания. Теперь выполните программу до этой точки, используя команду Run/Run (Ctrl-F9 ). Когда программа достигнет этой строки, она остановится и позволит Вам начать отладку.

Использование Ctrl-Break.

Кроме назначения точек прерывания, пользователь может сделать немедленную остановку во время выполнения программы, используя клавишу Ctrl-Break. Это означает, что можно прервать работу программы в любое время. Когда Вы нажимаете на клавишу Ctrl-Break, выполнение программы прекращается. Вы возвращаетесь в редактор, курсор выполнения расположен на следующей строке программы, и программа готова к дальнейшему пошаговому выполнению.

Фактически, отладчик автоматически подключает DOS, BIOS и другие сервисные функции. Он знает, является ли текущий выполняющийся код программой DOS, программой BIOS или программой пользователя. Когда Вы нажимаете на клавишу Ctrl-Break, отладчик ждет, пока программа выполняется сама. Затем он делает пошаговое выполнение инструкций машинного уровня, пока следующая инструкция не будет в начале строки исходного кода на Паскале. С этого момента отладчик прекращает работу, перемещает курсор выполнения на эту строку и предлагает Вам нажать на клавишу ESC.

Примечание: Если пользователь нажимает на клавишу Ctrl-Break второй раз еще до того, как отладчик находит и отображает следующую строку исходного кода для выполнения, то отладчик завершает работу и не пытается найти строку исходного кода. В этом случае, процедуры выхода не выполняются, что означает, что файлы, видеорежим и распределение памяти DOS могут быть не полностью очищены.

Просмотр значений.

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

procedure Sort ( var L : NumList; C : word );

var

Top,Min,k : word;

Temp : integer;

begin

for Top := 1 to C-1 do

begin

Min := Top;

for k := Top+1 to C do

if L[k] Top then

begin

Temp := L[Top];

Top := L[Min];

L[Min] := Temp;

end;

end;

end; {процедуры Sort}

Примечание: Измените NLMax в теле программы на 10 так, чтобы Вы могли работать с меньшим массивом.

В этой процедуре есть ошибки, будем просматривать ее (используя команду Run/Trace Into или клавишу F7) и наблюдать за значениями переменных L, Top, Min и k.

К-во Просмотров: 693
Бесплатно скачать Реферат: Отладка программ пользователя в Tubro Pascal