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

19.3. Обработка исключительных ситуаций в Delphi

В языке Delphi предусмотрено очень мощное и удобное средство обработки ошибок – оператор TRY:

TRY

опасное место в программе

EXCEPT

выполняется при возникновении ошибки

END;

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

TRY reset(f); WriteLn(f,’123’); Close(f) EXCEPT MessageBox(‘Ошибка записи в файл’); END;

20.Отладка программ

По мнению известного специалиста в области программирования Э. Дейкстры "…если отладка – процесс устранения ошибок в программах, то программирование – процесс их внесения". Увы, написать сложную программу без ошибок практически невозможно. Процесс "доведения до ума" программы называется отладкой (debugging).

Интересно происхождение английского термина debug, буквально означающего "обезжучивание" (англ. bug означает "жук"). В 40-х гг. ХХ века во флоте США эксплуатировался компьютер Mark-1. Однажды машина вышла из строя по причине попадания самого настоящего жука в контакты одного из многих тысяч реле. Математик Г.М. Хоппер, разрабатывавшая программы для Mark-1, записала в журнале "Реле №70. Произведено обезжучивание". С тех пор термин debug прижился для обозначения процесса отладки.

Еще сравнительно недавно отладка программы была весьма трудоемким и утомительным делом. Работа с компиляторами таких языков, как C, Fortran или Clipper в ОС MS DOS выглядела следующим образом. Текст программы набирался в любом текстовом редакторе – от Word до блокнота. Далее запускался компилятор, которому на вход подавался файл с программой. Если компиляция проходила успешно, компилятор создавал так называемый объектный файл. Затем запускался линкер – программа, объединяющая код стандартных библиотек и код в объектном файле в окончательный exe-файл. Наконец, полученный exe-файл запускался на выполнение. Если в нем обнаруживалась ошибка, весь процесс надо было повторять заново.

20.1. Интегрированная среда программирования

Резкому повышению производительности труда программистов способствовало появление интегрированных сред программирования (IDE, Integrated Development Environment). Delphi как раз и является такой средой. IDE объединяет редактор текста, компилятор, линкер, отладчик (рис. 13.1).

Рис. 20.74. Структура IDE.

Самая интересная для нас часть IDE – отладчик (debugger). Он позволяет выполнять следующие действия:

  • просматривать значения переменных;

  • прерывать выполнение программы в заданной точке;

  • выполнять программу по шагам;

  • отслеживать вызовы процедур и функций.

Как это возможно? Ведь мы знаем, что не существует способа превратить exe-файл обратно в программу на Паскале. Дело в том, что компилятор со встроенным отладчиком записывает в EXE-файл «лишнюю» информацию – имена переменных, ссылки на строки в исходной программе и т.д. После окончательной отладки следует отключить генерацию отладочной информации и откомпилировать "чистую" программу. Если об этом забыть то, во-первых, бесполезно возрастет размер exe-файла, а во-вторых, злобным хакерам будет очень легко вскрыть разнообразные защиты, которые автор так долго и старательно создавал.

Режимы компиляции в пункте меню ProjectOptionsCompiler ().

Рис. 20.75. Управление режимами компиляции в Delphi.