Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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

ОТЛАДКОЙ называется процесс обнаружения, локализации и устранения ошибок в программе.

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

СИНТАКСИЧЕСКИЕ ОШИБКИ – нарушения правил записи операторов программы, выявляются компилятором. Сообщение об ошибке появляется в верхней строке экрана в виде кода (номера) ошибки и краткого пояснения. Для получения дополнительных пояснений необходимо нажать клавишу <F1>. Нажатие клавиши <ESC> снимает с экрана сообщение об ошибке и пояснения, курсор устанавливается в том месте текста программы, где обнаружена ошибка. Если курсор к имени этого оператора в тексте программы и нажать <CTRL> + <F1>.

ЛОГИЧЕСКИЕ ОШИБКИ – нарушение правил обработки данных. Проявляется при выполнении программы в виде деления на ноль, извлечения корня квадратного из отрицательного числа, переполнения стека, попыток считывания данных из несуществующего файла и т.п. Обычно такие некорректные действия являются следствием ошибок в алгоритме решения и структуре данных задачи, несоответствия программы алгоритму решения.

Для получения подробной справки об ошибке нужно нажать клавишу <F1>. Курсор также указывает место возникновения ошибки в тексте программы, но ее причины не всегда очевидны.

СЕМАНТИЧЕСКИЕ (СМЫСЛОВЫЕ) ОШИБКИ – следствие плохого понимания задачи приводят к неправильному ее решению. Обнаружить такую ошибку можно при анализе полученных результатов, но для этого нужно хорошо понимать задачу, иметь заранее подготовительный контрольный пример решения задачи.

Для уточнения причины появления логических и семантических ошибок можно использовать интегрированный отладчик Турбо-Паскаля. Он позволяет прервать выполнение программы в нужном месте, проследить изменение значений переменных в специальном окне -–окне индикации (Watch), проверить текущее значение и продолжить выполнение программы.

Отладочный режим устанавливается следующим образом: необходимо нажать <ALT> + <D>, курсор переместиться на пункт меню Integrated Debugging (интегрированная отладка), нажатием клавиши <Enter> установить режим ON (включен) и в заключение нажать <ALT> + <E> для возврата в режим редактирования.

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

ТРАССИРОВКА – это построчное выполнение программы. Для трассировки используется клавиша < F7 >: при очередном ее нажатии выполняется следующая строка программы или оператор, записанный в следующих строках. Если трассировка процедур и функций не требуется, используется клавиша < F8 >.

Для выполнения программы по частям используются точки остановок (Breakpoints) или КОНТРОЛЬНЫЕ ТОЧКИ. Чтобы установить или удалить такую точку в нужной строке программы, необходимо поместить курсор в эту строку и нажать <CTRL> + <F8>. Установленные в тексте программы контрольные точки выделяются цветом (яркостью). После запуска программы командой <CTRL> + <F9> отладчик прерывает ее исполнение перед первой контрольной точкой. Нажав повторно <CTRL> + <F9> отладчик продолжает ее исполнение до следующей контрольной точки.. Для удаления всех установленных контрольных точек необходимо нажать <ALT> + <B>, выбрать пункт меню Clear all breakpoints и нажать <Enter>.

Можно исполнить программу до текущего положения курсора в тесте программы, нажав клавишу < F4 >. Это позволяет, перемещая курсор по тексту программы, исполнять ее по частям, не устанавливая контрольные точки заранее. После выполнения очередной строки или части программы для проверки значения любой переменной следует нажать <CTRL> + <F4>, набрать имя переменной в строке Evaliate и нажать <Enter>. В строке Result появится текущее значение простой переменной, значение элементов массива.

Окно индикации (Watch) используется для прослеживания изменения переменных при выполнении программы. В окне выводятся имена переменных и их текущие значения. Окно индикации появляется (исчезает) при нажатии клавиш < F5 > или <ALT> + <F6>. Для включения переменной в список просмотра нужно установить курсор на имя переменной в тексте программы, нажать <CTRL> + <F7> и затем <Enter>.

При работе с окном индикации используется пункт Break/Watch основного меню. Вызывается он нажатием клавиш <ALT> + <B>, позволяет добавлять (Edit Watch), удалять переменную (Delete Watch) или весь список переменных (Remove all Watches). После установления причины и места ошибки необходимо исправить программу и повторить компиляцию. Процесс отладки завершается при получении правильных результатов решения задачи.

<== предыдущая лекция | следующая лекция ==>
Команды работы с блоками | Программный интерфейс ИСП Borland Pascal
Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 293; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.