рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

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

Отладка программы - раздел Информатика, Данные строкового типа Отладка Программы - Это Этап Разработки Программы, На Котором С Помощью Эвм О...

Отладка программы - это этап разработки программы, на котором с помощью ЭВМ осуществляется поиск и исправление ошибок в программе. Цель отладки - показать, что программа правильно решает поставленную задачу. Ошибки в программе могут быть двух типов: ошибки в записи предложений программы и ошибки в алгоритме. Такое деление является достаточно условным, т. к. некоторые синтаксические ошибки могут приводить к ошибкам алгоритмического характера.

Поиск и исправление синтаксических ошибок в программе называется синтаксической отладкой. Поиск и исправление алгоритмических ошибок в программе называется алгоритмической отладкой.

 

4.16.1. Синтаксическая отладка.

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

Следует иметь в виду, что компилятор обнаруживает не все ошибки в программе и не все предложения, указанные как ошибочные, действительно содержат ошибки. Например, компилятор не может обнаружить ошибки в арифметических операциях (" + " вместо " - ", умножение вместь деления и т.п.), ошибки в списках фактических и формальных параметров процедур и функций (например, несоответствие списков по порядку следования) и т.п.

В процессе отладки по отношению к каждой ошибке надо выполнять четыре действия:

- обнаружение ошибки;

- определение причины ошибки;

- исправление ошибки;

- проверка правильности исправления ошибки.

При анализе диагностических сообщений необходимо иметь в виду, что транслятор реагирует не на причину ошибки, а на ее последствия. Поэтому, например, если в выражении Y:=z*1.25 будет пропущен символ операции умножения (т. е. записано Y:= z125), то компилятор выдаст сообщение "unknown identifier" (неизвестный идентификатор z125), так как последовательность символов справа от оператора присваивания он будет понимать как имя переменной, а не как математическое выражение.. Аналогичное сообщение будет выдано и в случае, когда в программе используется переменная не объявленная в разделе Var. Очевидно, что в первом случае надо исправлять арифметическое выражение, а во втором - указать тип переменной в разделе Var.

В процессе синтаксической отладки необходимо вручную проверить следующее:

- правильность записи арифметических выражений, если арифметическое выражение из программы снова записать в алгебраической форме, то должно получиться исходное выражение;

- правильность записи списков фактических и формальных параметров подпрограмм (соответствие по количеству, порядку следования и типу);

- все ли переменные определены к моменту выполнения того или иного предложения.

Переменная будет определена если она появляется до проверяемого предложения:

- в левой части оператора присваивания;

- в списке процедуры ввода;

- в списке выходных фактических параметров.

-

4.16.2. Алгоритмическая отладка.

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

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

Одной из функций операционной системы является обработка прерываний, возникающих при нарушении нормального хода выполнения программы. Обычно при этом ЭВМ прекращает выполнение программы и выдает диагностическое сообщение об ошибке (часто их называют ошибками периода выполнения ). При выполнении программы сообщение об ошибках периода выполнения могут появляться в следующих случаях:

- если значение результата вычисления арифметического выражения выходит за пределы допустимого диапазона значений;

- если аргумент библиотечной функции имеет недопустимое значение (например, отрицательное значение под знаком корня или логарифма);

- если ЭВМ не может выполнить операцию (например, делитель равен нулю);

- если значение переменной не определено к моменту выполнения той или иной операции с этой переменной.

-

4.16.3. Отладка программы в системе программирования.

В основе системы программирования Delphi лежит язык Object Pascal (объектный Паскаль), который является расширением языка Turbo Pascal. Средства и основные приемы отладки программ, рассматриваемые здесь можно использовать при создании программ как в Turbo Pascal, в Object Pascal, так и в системе программирования Delphi.

1. Пошаговый режим выполнения программы.

Для выполнения программы в пошаговом режиме используются следующие команды меню Run (или соответствующие им функциональные клавиши).

Run/Goto Cursor (или клавиша F4) - в этом случае будет выполнена часть программы до строки, на которой располагается курсор и затем ЭВМ переходит в режим ожидания дальнейших команд. В этом режиме можно установить курсор на новую строку и, нажав F4, продолжить выполнения программы до строки с курсором.

Trace Into (F7) - в этом случае программа останавливается на первом выполняемом операторе программы, т. е. на ключевом слове Begin раздела операторов. При каждом нажатии на клавишу F7 выполняется по одной строке программы (независимо от количества операторов на строке). Если в программе используются подпрограммы, то они также выполняются в пошаговом режиме.

Step Over (F8) - этот режим аналогичен предыдущему, но подпрограммы выполняются не по шагам, а полностью. Все эти режимы можно комбинировать в одном сеансе отладки. Для выхода из этих режимов отладки необходимо нажать комбинацию клавиш Ctrl + F2.

2. Контроль значений переменных.

Для наблюдения за значениями переменных в режимах Trace Into и Step Over в среде программирования имеется специальное окно Watches, для использования которого необходимо:

- установить курсор на имя переменной, значение которой надо выводить в окне отладки;

- выполнить команды:Debug/AddWatch (или Ctrl + F7) - появится окно AddWatch;

- если имя переменной в этом окне указано правильно, то можно нажать OK.

В нижней части экрана монитора появится окно Watches, в котором будет строка с именем выбранной переменной. Подобным образом можно указать в окне Watches и другие переменные, за значениями которых программист желает наблюдать в процессе выполнения программы. Окно Watches закрывается при активизации окна редактирования. Открыть окно Watches можно с помощью команды Debug/Watch. Заметим, что имя переменной можно просто напечатать в окне AddWatch.

 

– Конец работы –

Эта тема принадлежит разделу:

Данные строкового типа

На сайте allrefs.net читайте: Данные строкового типа.

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Отладка программы

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Данные строкового типа.
В языке Delphi для обработки текстов можно использовать четыре строковых типа: - String – универсальная строка; - AnsiString – длинная строка; - ShortString – короткая ст

Массивы символов.
Массивы символов и массивы строк удобно использовать, когда количество символов в обрабатываемой последовательности более 255. Максимальное количество символов в массивах символов и строк не должно

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги