Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Пошаговое выполнение программы




Оптимизация кода программы

Максимальный контроль ошибок

Отладка

Отладка ‑ это процесс поиска и устранения ошибок в программе. Ошибки бывают двух типов: синтаксические (неверное написание предложений Паскаля), которые обнаруживаются самим компилятором, и логические (ошибки в самом кодируемом алгоритме).

Сообщения о синтаксических ошибках выводятся в нижней части ок­на редактора. При двойном щелчке на сообщении об ошибке подсве­чи­вает­­ся и становится текущей строка программы c ошибкой.

Для отладки имеется специальный встроенный отладчик, средства которого находятся в меню Run и подменю View/Debug Windows. Настройка отладчика производится командой Tools/Debugger Options.

Максимальный контроль ошибок можно обеспечить настройкой компилятора. Командой Project/Options/Compiler выбрать страницу Compiler, убрать флажок Optimization (оптимизация кода программы), установить флажки: Range checked (контроль выхода индексов за границы массивов), I/O Checking (контроль за вводом/выводом), Overflow Checking (контроль за переполнением при целочисленных операциях), Debug information (добавление отладочной информации), Local symbols (просмотр локальных переменных), Reference info (просмотр структуры кода), Assertions (использование процедуры Assert (п.1.7.9)), Use Debug DCUs (использование отладочных версий стандартных модулей биб­лиотеки компонентов VCL), Show Hints (вывод подсказок), Show warnings (вывод предупреждений при компиляции; очень полезно анализировать эти предупреждения, так как они могут показать скрытые логические ошибки, например, неиспользуемые переменные).

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

Пример программы до и после оптимизации:

Function Sum:Integer; Var X,Y:Integer;//текст программы до оптимизации

Begin X:=strtoint(edit1.text)+strtoint(edit2.text); Result:=x; y:=2; End;

После оптимизации программа будет эквивалентна программе:

Function Sum:Integer;Begin Result:=strtoint(edit1.text)+strtoint(edit2.text);End;

Для выполняемых строк редактор программ проставляет слева от ст­рок точки синего цвета, поэтому отсутствие этих точек у строк показывает, что они не используются при выполнении оптимизированной программы.

Пошаговое выполнение программыпозволяет программисту контролировать результаты работы выполняемой команды. Для этого устанавливается точка прерывания (точка останова, контрольная точка) щелчком мыши по синему круглому маркеру на левом поле окна редак­то­ра, и появляется круглый маркер красного цвета ‑ признак установ­ки точки прерывания. После запуска программы ее работа прервется на точке прерывания (визуально слева от строки появится зеленая правая стрелочка). Если навести маркер мыши на имя переменной, то появится в виде всплывающей подсказки ее имя, знак равно и текущее значение, что позволяет оценить правильность этого значения. Для перехода на следующую строку программы нажимается клавиша F8 (кнопка Step Over, или команда Run/Step Over), и все повторяется. Для прекращения работы всей программы выполняется команда Run/Program Reset (сброс программы) или ^F2.

Если в выполняемомшаге используется подпрограмма, то она вы­пол­нится за один шаг. Если нужно войти внутрь нее для продолжения выполнения по шагам внутри этой подпрограммы, то следует вместо F8 нажать клавишу F7 или выполнить команду Trace into (войти внутрь). Для быстрого выхода из подпрограммы выполняется команда Run/Run Until Return (выполнять до выхода) или Shift+F8.

Установка точек прерывания по условию производится путем установки курсора на нужную строку и выполнением команды Run/Add Breakpoint/Source Breakpoint. Появится окно Add Source Breakpoint с полями: Condition (условие прерывания программы, например, J>44), Pass count (число проходов перед прерыванием, например: 100 ‑ прерывание наступит после выполнения этой строки 100 раз).

Объединение точек прерывания в группы производится путем указания имени группы в поле Group окна Add Source Breakpoint, что позволяет выполнять схожие действия над группой точек прерывания.

Действия контрольной точки задаются в окне Add Source Breakpoint, которое вызывается кнопкой Advanced (дополнительно) из окна Add Source Breakpoint. Окно имеет флажки: Break (прерывание), Ignore/Handle subsequent exceptions (отключение/включение всех после­дую­щих исключительных ситуаций), Enable/Disable Group (включе­ние/отключение группы точек).




Поделиться с друзьями:


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


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



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




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