Отладка программ на Delphi
В Delphi имеются средства отладки, которые подойдут как для начинающего программиста, так и для опытного.
Существует 2 вида ошибок – синтаксические и логические.
Синтаксические ошибки связаны с неверным вводом команд, неверной записью идентификаторов и другими некорректными действиями. Такие ошибки обнаруживаются компилятором автоматически и сообщения о найденных ошибках можно посмотреть в нижней части редактора.
Обычно приблизительно известно, в какой подпрограмме возникает ошибка. Поэтому возникает необходимость выполнить эту программу по шагам: каждый оператор по очереди, с возможностью контроля значений используемых переменных.
Пример:
В данном примере скрывается ошибка. Чтобы перейти к выполнению этой подпрограммы по шагам, в ней надо создать точку прерывания (точку останова, breakpoint), встретив которую программа прервет свою работу и временно передаст управление системе делфи.
Точки прерывания можно ставить не в любой строке кода, а лишь там, где выполняются какие-то действия. Такие строки помечены на левом поле в редакторе синими круглыми маркерами которые появляются после успешно выполненной компиляции.
Точку прерывания можно поставить нажатием клавиши F5 или щелчком мыши на синем маркере. При этом строка выделится красным цветом. Снимается точка прерывания аналогично.
Продолжить выполнение программы в обычном режиме можно с помощью клавиши F9.
Просмотреть список всех установленных точек прерывания можно с помощью команды View-Debug Windows-Breakpoints.
При выполнении по шагам есть один недостаток. Если встретится функция или процедура, написанная вами, то она будет выполнена за 1 шаг, без захода внутрь. Чтобы зайти и выполнить подпрограмму по шагам, нужно воспользоваться клавишей F7. В этом случае произойдет заход в подпрограмму и можно посмотреть, что в ней делается. Как только будет достигнут конец подпрограммы, произойдет выход в основную и можно продолжить выполнение по шагам со следующей после подпрограммы строчки. Если вы хотите быстро покинуть подпрограмму, то не обязательно жать F7, пока она не закончиться. Для этого можно воспользоваться комбинацией клавиш Shift+F8. Если происходят множественные входы в подпрограммы и становится сложно уследить за этим, то можно воспользоваться командой View-Debug Windows-Call Stack, чтобы взглянуть на последовательность подпрограмм с конкретными параметрами.
Во время отладки приходится контролировать множество значений, и следить за ними с помощью мышки естественно не удобно. Для этого существует специальное окно, где показывается имя переменной и ее значение. Вызвать его можно с помощью Ctrl+F5.
Литература
1. Бобровский С. И. Delphi 7. Учебный курс – СПб.: Питер, 2004. – 736 с.: ил.
2. Баженова И.Ю. Delphi 7. Самоучитель программиста. Москва, 2003