Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
диплом.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.82 Mб
Скачать

3.1 Отладка программы

При написании данного приложения допускались различные ошибки. Все ошибки можно разделить на следующие виды:

1. Синтаксические ошибки вызываются нарушением синтаксиса языка, они выявляются и устраняются при компиляции программы. Их обнаруживает компилятор, выдавая сообщение и указывая в тексте программы место, где возникла ошибка. Например,

Sheet.Range['AX20']:= Form6.ADOQuery1.FieldByName('Финансовый_орган).AsString;

Допущена ошибка – в записи операции отсутствует апостроф ('). При ее обнаружении в ходе компиляции будет выдано соответствующее сообщение.

2. Логические ошибки являются следствием реализации неправильного алгоритма и проявляются при выполнении программы. Их наличие обычно не приводит к выдаче пользователю каких-либо сообщений или прекращению работы всего приложения, однако программа будет работать некорректно и выдавать неправильные результаты. Например,

if not DBGrid2.DataSource.DataSet.Eof

DBGrid2.DataSource.DataSet.Delete;

В данном куске кода допущена ошибка – не верно задано логическое условие, в результате чего не будет выполняться удаление данных из базы. Необходимо данную ошибку исправить, добавив знак логической операции then.

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

Здесь во время выполнения программы возможно появление ошибки, связанной с базой данных.

Как правило, логические и динамические ошибки находятся и исправляются после проведения тестов с использованием контрольных примеров.

Для поиска конкретной ошибки использовались возможности компилятора Delphi, обладающего следующими встроенными командами:

  1. команда Step Over (Шаг с обходом) предписывает выполнение одной строки кода программы с обходом процедур (процедура выполняется как единый модуль);

  2. команда Trace Into (Трассирование до) предписывает выполнение одной строки кода программы с заходом в процедуры и их последующим построчным выполнением;

  3. команда Run To Cursor (Выполнение до курсора) задает выполнение загруженной программы до места размещения курсора.

Также использовались возможности Delphi для контролирования выражений:

1) Окно Watch позволяет ввести необходимое выражение и проконтролировать его значения после запуска программы.

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

Весь процесс отладки можно разделить на ряд последовательных этапов:

    1. Определение действий (ситуаций), после которых возникает ошибка.

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

    3. Определение причины ошибки.

    4. Исправление ошибки.

3.2 Защита нарушения целостности программы и данных

Защита от ошибок применялась в разных частях программы.

Защита от ошибок выражалась в контроле “опасного” фрагмента программы, если же возникает вероятность появления какой-либо ошибки, то программа выходит из “опасной” процедуры или пропускает “опасный” фрагмент кода, предварительно сообщив пользователю об ошибке в виде информационного окна.

Например, если при заполнении расшифровки не заполнена сама заявка, то при обновлении данных выводится сообщение об ошибке:

“Не удается найти строку для обновления. Некоторые значения могли быть изменены со времени последнего чтения”. Программа требует заполнения полей заявки.

Рисунок 20 - Ошибка в проекте

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

Рисунок 21 - Ошибка при повторении индексов, ключевых полей или связей

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]