Этапы выполнения программы в tp
исх.модуль трансляция объектный модуль компоновка выполняемый модуль выполнение
(.pas)
(компиляция) (.obj)
(редактирование
(.exe)
связей)
Для выполнения каждого этапа в системе Turbo Pascal применяются специальные средства:
редактор текстов (editor);
компилятор (compiler);
компоновщик (linker);
отладчик (debugger).
Исходный модуль можно подготовить, используя встроенный текстовый редактор, либо в любом другом текстовом редакторе, хранящим текст в ASCII-кодах, добавив к имени файла расширение .pas.
Компилятор – программа, преобразующая исходный текст программы в машинный код с диагностикой синтаксических и семантических ошибок. В современных системах программирования сочетаются технологии компиляции и интерпретации. Например, существуют компиляторы, которые компилируют в интерактивном режиме (во время пошаговой отладки).
Во время компоновки к исходному объектному модулю подключаются объектные модули различных подпрограмм (ввод-вывод, математические функции), получается загрузочный модуль (.com, .exe), который запускается на выполнение.
Отладка и тестирование
Существуют три основных типов ошибок:
Ошибки времени компиляции.
Записываются операторы, которые не согласуются с правилами языка программирования – синтаксические и семантические ошибки. Пока все такие ошибки не будут исправлены, транслятор не сгенерирует машинный код.
Ошибка времени выполнения.
Если компилятор не обнаружил ошибок первого типа, это не значит, что программа верна. Возможны этапы исполнения: деление на 0, выход за границы массива, переполнение разрядов, которые приводят к прерыванию выполнения программы.
Логические ошибки.
Когда программы выполняется до конца, получает какие-то результаты, но они не являются верными. Для выявления таких ошибок проводят тестирования.
В системе Turbo Pascal имеется встроенный отладчик, дающий возможность интерактивного выполнения программы, во время которого производится наблюдение за значения определенных переменных или выражений. Рассмотрим возможности Turbo Pascal (debugger):
Трассировка F7 (RunTrace Into) при этом программа в начале компилирует, затее начинает ее пошагово выполнять. При каждом нажатии F7 выполняется очередная строка. Полезно использовать окно просмотра (Watch), нажав Ctrl+F7 (DebungAdd Watch) и в появившемся окне набрать имя переменной, текущее значение которой надо узнать. Таким образом, используя F7 и Ctrl+F7 можно провести полный анализ работы программы.
Пошаговое выполнение F8 (Run Step Over). Отличие от F7 в том, что при использовании F7 происходит заход внутрь процедур и функций, а применение F8 приводит к обходу подпрограмм. Для прерывания пошаговой отладки используется Ctrl+F2 (RunProgram Reset).
Переход на курсор F4 (RunGo To Cursor). Дает возможность передвинуть курсор на определенную строку, а затем указать отладчику выполнить программу до этой строки.
Точка прерывания Ctrl+F8 (DebugBreakpionts). Можно пометить строку как точку прерывания. После этого можно запустить Ctrl+F9 и просмотреть значения переменных Alt+F5, начать трассировку или выполнить программу до другой точки прерывания.
Выполнение/модификация Ctrl+F4 (DebudEvaluate/Modify). Позволяет вычислить выражение или модифицировать значение переменной в окне Evaluate для проверки как код реагирует на установку определенных значений.
