Простые приемы и методы отладки программы

В процессе создания новой программы программисту приходится сталкиваться с несколькими видами ошибок. Во-первых, это синтаксические ошибки, связанные с неправильным употреблением различных элементов и конструкций языка Паскаль. Причиной возникновения таких ошибок обычно является недостаточно хорошее значение языка программирования и опечатки при наборе текста программы. Такие ошибки определяется уже на этапе компиляции и серьезной опасности не представляют. Немаловажную роль здесь играет и то обстоятельство, что Паскаль является языком программирования со строгим контролем типов. Все объекты данных, если при наборе программы вследствие опечатки появляется «ложная» переменная, компилятор обязательно сообщит об этом.

Второй вид ошибок доставляет программисту гораздо больше неприятностей. Это ошибки при выполнении программы. Сообщение о такой ошибке имеет вид:

Run-time error at :

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

Ну и, наконец, наиболее тяжелые ошибки бывают связаны с неправильным выбором модели, алгоритма решения задачи или с неправильной постановкой задачи. Здесь мы остановимся на тех методах отладки, которые доступны из интегрированной среды Турбо Паскаль. Речь пойдет о возможностях встроенного отладчика, доступ к функциям которого открывает меню Debug (рис. 8).

Простые приемы и методы отладки программы

Рис. 8. Меню Debug интегрированной среды Турбо Паскаль

Отладчик работает с исходным текстом программы, то есть доступ к элементам программы осуществляется на уровне исходного текста. Это делает работу программиста более наглядной и эффективной. Чтобы использовать встроеный отладчик, следует установить компилятору опции генерации отладочной информации.

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

Во время отладки полезным может оказаться использование окна просмотра (Watch). Если нажать клавиши Alt+D для появления меню Debug и выбрать команду Add Watch (или нажать клавиши Ctrl+F7), то далее в появившемся окне можно набрать имя переменной, текущее значение которой необходимо узнать. Для добавления в окно просмотра других переменных можно использовать команду Add Watch. Таким образом, используя возможность пошагового выполнения в сочетании с просмотром текущих значений переменных программы, можно провести добавочно подробный анализ ее работы. Это позволяет в случае неправильного поведения программы поставить ей достаточно точный «диагноз».

Просмотреть значение любой переменной программы можно, установить курсор на ее идентификатор и воспользовавшись командой Evaluate/modify. Здесь имеет также возможность по ходу выполнения программы изменить текущее значение выбранной переменной.

Метод пошагового выполнения программы неудобен, если исходный текст программы имеет большой объем, а программист интересует значения переменных только в избранных местах программы, да и то не всегда, а при выполнении определенных условий. В этом случае на помощь приходит команда меню DebugBreakpoints, позволяющая разместить в тексте программы «точки прерывания». Для каждой точки прерывания указывается номер строки, где она устанавливается, условие, при выполнении которого программа приостановится в указанном месте, а также количество прохождений точки до ее «срабатывания». Ставшие ненужными точки прерывания можно удалить, воспользовавшись той же командой.

Завершить работу «зациклившейся» программы можно нажатием клавиш Ctrl+Break.

Практическая часть

1. Изучите теоретическую часть.

2. Запустите ТР7 (C:\TP7\start.bat).

3. Наберите текст приведенной ниже программы:

program primer1;

uses crt;

var

a,b,c,y:real;

begin

clrscr;

readln(a,b,c);

y:=(ln(a)+cos(b))/(b-c);

writeln(y:5:4);

readln;

end.

4. Исправьте все ошибки и запустите программу на выполнение.

5. Запишите в отчете результат для следующих значений чисел a,b,c (2,3,3), (-4,2,4), (1,2,3), (10,-5,-4)

6. Оформите отчет по работе.

Отчет должен содержать: номер работы, тему, цель, задание, результаты работы программы, краткие выводы, ответы на вопросы.

Вопросы для контроля

1. Как запустить программу на выполнение (несколько способов)?

2. Как открыть текст программы?

3. Как переключиться между окнами программы?

Литература

Семакин И.Г., Шестаков А.П. Основы программирования: Учебник.— М.: Мастерство, 2002. — 432 с.

QA Start. Урок 3. Виды и уровни тестирования


Похожие статьи.

Понравилась статья? Поделиться с друзьями: