- •Системная шина
- •Лекция 4
- •Понятие алгоритма
- •Алгоритмизация
- •Словесная запись алгоритмов
- •Схемы алгоритмов
- •Технология разработки алгоритмов
- •Разработка программы
- •Отладка и тестирование программы
- •Причины и типы ошибок
- •Способы и средства отладки
- •Отладка программ в среде Delphi
- •Точки контрольного останова
- •Окно наблюдения
- •Принудительное прерывание работы программы
- •Трассировка программы
- •Действия в точках прерывания
- •Группировка точек прерывания
- •Вычисление выражений и изменение значений
- •Ведение протокола работы программы
- •Лекция 6
- •Вычислительные сети
- •Модель взаимодействия открытых систем
- •Сетевые протоколы
- •Топологии вычислительных сетей
- •Виды коммутации
- •Способы адресации эвм в сети
- •Маршрутизация
- •Лекция 7
- •Глобальная сеть
- •Протоколы сети Интернет
- •Система адресации в Интернет
- •Службы сети Интернет
- •Электронная почта
- •Служба www
- •Служба передачи файлов
- •Лекция 8
- •Базы данных и субд
- •Свойства базы данных
- •Реляционная модель данных
- •Нормализация отношений
- •Типы связей
- •Операции над отношениями
- •Список дополнительной литературы
Способы и средства отладки
В ходе отладки программа должна быть проверена в двух измерениях: в пространстве и во времени. Первое представляет собой контроль содержимого памяти в конкретные моменты работы программы, отслеживание текущих значений всех или выбранных групп переменных, проверку на соответствие их значений декларированным диапазонам (типам). Второе – это отслеживание хода выполнения алгоритма для проверки правильности заданной последовательности операций и передач управления при различных значениях параметров. Самым распространенным и полезным приемом отладки, позволяющим объединить обе формы контроля, являются отчеты о трассировке. Трассировка программы – это регистрация логического пути выполнения программы – последовательности выполнения ее операторов/блоков с контрольной выдачей информации о результатах каждого шага – обо всех изменениях значений рабочих переменных и параметров связи. Сам принцип трассировки – слишком общий. На практике реализуют трассировку программы в том или ином объеме, используя различные способы и средства отладки.
Самый простой способ отладки – это расстановка в тексте программы отладочных печатей промежуточных результатов вычислений, позволяющих проследить логический и арифметический следы программы, т. е. каким образом она выполнялась и что она вычисляла. Отладочные печати ставятся в узловых/ключевых точках программы, позволяющих контролировать ошибки ввода (эхо-печать введенных данных), результаты вычислительных операций и логику работы программы или отдельных ее частей. Отладочные операторы оформляются в отдельные строки, выделяются особым образом (например, сдвигом влево или вправо) и в зависимости от цели контроля могут содержать вывод значений контролируемых переменных, проверку условий или идентифицирующее сообщение (комментарий) о прохождении заданной точки программы, о начале или завершении работы определенного участка/блока. Средства для отладки могут быть вставлены в программу еще при ее разработке. В ходе отладки количество и место расположения отладочных операторов меняется, но их лучше не удалять, а превращать в комментарии. Такой способ отладки весьма трудоемок и может сам служить источником ошибок.
Процесс отладки значительно облегчается, если использовать для этого системные средства отладки – специальные программы-отладчики, имеющиеся в программном обеспечении компьютера.
Встроенный отладчик среды Delphi или Турбо Паскаля (Debugger) позволяет контролировать ход выполнения программы – выполнять трассировку программы без изменения самой программы с помощью следующих действий:
выполнения программы построчно/по шагам;
остановки выполнения программы в заданной точке останова;
перезапуска программы, не закончив ее выполнение;
назначения и модификации значений любых переменных и параметров программы, а также получения некоторых дополнительных сведений о программе, например списка активных процедур.
Эти возможности позволяют, отследив выполнение каждого оператора/операции, определить местоположение ошибки и понять ее причину. (Далее рассмотрим все эти управляющие средства.)
Автономный отладчик (Turbo Debugger – файл td.exe) предоставляет большие возможности: позволяет осуществить трассировку программы/блока на уровне ассемблерных и машинных инструкций, просмотреть содержимое/дамп памяти и пр., что требует особого режима компиляции исходного текста. Использование дополнительных возможностей автономного отладчика целесообразно при отладке и тестировании больших по объему и сложных программ и при наличии у программиста достаточно высокого уровня квалификации. (В данном пособии автономные средства отладки не рассматриваются.)