Лекция Паскаль 4 – Delphi Отладка программы


Тема: Отладка программы.

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

  1. Использование отладчика программ в визуальной среде программирования. Пошаговое выполнение программы, просмотр значений переменных во время выполнения программы. Разновидности ошибок, методы их поиска и исправления.

    Квалификация программиста определяется не его умением писать безошибочные программы (написать сложную программу без ошибок практически невозможно). Мастерство определяется умением разработчика быстро, эффективно и надежно видлажуваты и тестировать свое приложение. Рассмотрим технические возможности отладки приложений в среде Delphi.

    Компиляция с последующим выполнением приложении осуществляется с помощью команды Run (F9 или быстрая кнопка image . Выполнение будет осуществляться только в том случае, если при компиляции НЕ изысканы ошибок и загрузочный модуль создан. Компиляция без последующего выполнения приложения осуществляется с помощью комбинации клавиш Ctrl + F9. В результате компиляции могут быть сделаны:

    • Замечание — hint
    • Предупреждение — warning
    • Сообщения об ошибках — error.

    Если же созданный Вами приложение прошел компиляцию и начал выполняться, это, к сожалению, еще не значит, что он верно работает. В нем также могут присутствовать ошибки, которые постоянно возникают при выполнении некоторых частей программы, а также проявляться только при совпадении некоторых данных: ошибка деления на ноль, переполнение, открытие несуществующего файла и тому подобное. Наконец, могут быть случайные ошибки, когда одна и та же задача иногда выполняется нормально, а иногда — нет. Такие ошибки, которые наиболее тяжело отыскать, как правило связаны с отсутствием инициализации переменных в различных режимах работы. В этом случае выполнения приложения зависит от случайного состояния памяти компьютера.

    Очень часто для того, чтобы выявить, в чем заключается причина возникновения ошибки, необходимо, выполняя фрагмент программы, отслеживать изменения переменных при выполнении каждой команды. Для пошагового выполнения программы можно использовать команды, приведенные в таблице.

    Команды пошагового выполнения:

    команда

    Горячие клавиши

    Помощь

    Step Over (пошагово

    F8

    Пошаговое выполнение строк программы (вызов

    без захода в …)

    функции или процедуры считается одним

    строка), вход в функции и процедуры не

    выполняется.

    команда

    Горячие клавиши

    Помощь

    Trace Into (трассировки с заходом в …)

    F7

    Пошаговое выполнение программы с заходом в функции и процедуры

    Trace to Next Source Line (трассировка к следующей строке)

    Shift + F7

    Переход к следующему исполняемого строки

    Run to Cursor (выполнить до курсора)

    F4

    Команда выполняет программу до того выполняемого оператора, на котором находится курсор в окне редактора кода

    Show Execution Point (показать точку исполнения)

    Команда размещает курсор на операторе, который будет выполняться следующим

    Проиллюстрируем пошаговое выполнение программы.

    image

    Рассмотрим более мощный инструмент — введение в приложение точки прерывания (breakpoint). Чтобы ввести точку прерывания, достаточно щелкнуть мышкой на полоске левее кода нужной строки. Строка выделится красным цветом, на нем появится яркая красная точка.

    image

    Если мы теперь запустим приложение на выполнение и начнем с ним работать, то как только управление перейдет к строке, на котором установлено точку прерывания, выполнение программы остановится. Таким образом, мы получим тот же результат, что и при выполнении программы до точки, указанной курсором (F4). Однако преимуществом точки прерывания является та, что одновременно можно установить несколько точек в разных местах кода и в разных модулях. Приложение будет выполняться до тех пор, пока управление не перейдет к первой точки прерывания. Следующий запуск приведет к остановке во второй точке прерывания и так далее.

    Для того, чтобы снять точку прерывания, достаточно щелкнуть мышкой на красной точке слева кода соответствующей строки. Точки прерывания можно устанавливать на выполняемых операторах. Если Вы, например, попробуете установить точку прерывания строки, содержит объявления переменной, то среда Delphi появится крестик — предупреждение, что прерывание не будет, поскольку оператор — не исполняемый.

    image

    Для исправления ошибок, возникших при выполнении программы, нам достаточно часто нужно иметь перед глазами одновременно значения нескольких переменных. Такую возможность предоставляет окно наблюдений Watches.

    Сделать окно наблюдений видимым можно, подняв курсор в коде до нужной переменной на нажав одновременно Ctrl + F5.

    image

    При этом окно автоматически откроется, а в нем появится имя переменной и ее значение. Далее можно подвести курсор к другой переменной и снова нажать Ctrl + F5 и так далее. Более того, можно выделить курсором некоторое выражение, нажать Ctrl + F5 — и Вы увидите в окне наблюдений значения этого выражения.

  2. Теоретические вопросы для самоконтроля.
  1. Каким образом можно откомпилировать приложение в Delphi?
  2. Приведите примеры ошибок, которые могут возникнуть в программе.
  3. Назовите команды пошагового выполнения программы. Каковы их различия?
  4. В чем состоит назначение точек прерывания?
  5. Для чего предназначено окно наблюдений Watches? Как его вызвать?
[Всего голосов: 3    Средний: 5/5]

Читать  Понятие о языке программирования Turbo Pascal, главное окно Turbo