![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Отладка
Отладка ‑ это процесс поиска и устранения ошибок в программе. Ошибки бывают двух типов: синтаксические (неверное написание предложений Паскаля), которые обнаруживаются самим компилятором, и логические (ошибки в самом кодируемом алгоритме). Сообщения о синтаксических ошибках выводятся в нижней части окна редактора. При двойном щелчке на сообщении об ошибке подсвечивается и становится текущей строка программы 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; Для выполняемых строк редактор программ проставляет слева от строк точки синего цвета, поэтому отсутствие этих точек у строк показывает, что они не используются при выполнении оптимизированной программы.
|