Отладчик. Как и для чего им пользоваться

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

На практике весьма часто приходится отлавливать ошибки в процессе тестирования создаваемого приложения, и довольно часто возникают моменты,когда вроде бы все команды записаны правильно, логика тоже верпа, а программа во время работы либо «виснет», либо выдает неожиданные результаты.Разработчики FoxPro еще с давних времен озаботились созданием средства,помогающего в отладке программ. Он называется Отладчиком (Debugger).

Отладчик входит в поставку Visual FoxPro 9 и вызывается из основного менюс помощью команды Debugger (Tools > Debugger).

Настройки для работы Отладчика мы рассматривали в первой главе. Онипроизводятся при выборе команды Options (Параметры) из меню Tools (Инструменты). За настройки Отладчика в появившемся окне отвечает вкладкаDebug (Отладка). Раскрывающийся список Environment (Окружение) служитдля определения окна, в котором будет работать Отладчик. Если указано Debugframe, все окна Отладчика открываются в одном окне, внешнем по отношениюк основному окну Visual FoxPro 9. Если указано значение FoxPro frame, окнаразмещаются внутри основного окна Visual FoxPro 9.

По умолчанию Отладчик при запуске появляется в отдельном окне. Окноотладчика представлено на рис. 4.67.

В окне Отладчика присутствует панель инструментов. Рассмотрим назначение кнопок на этой панели.

Давайте разберемся с окнами в окне Отладчика. Описывая кнопки панелиинструментов, мы упомянули кнопки, включающие и выключающие вывод этихокон. Для чего эти окна?

Окно Trace отображает текст выполняемой программы или процедуры(функции) в процессе их выполнения. Если отображается процедура (функция), то в раскрывающемся списке Procedure будет показано ее название.Стрелка слева от строк программы показывает, какая команда выполнится вследующий момент.

Если есть необходимость просмотреть значение переменной или выражения в данный момент или видеть в динамике, как это значение изменяется,надо в окне Watch ввести в поле Watch имя переменной или выражение, значение которого нужно вывести, а затем нажать на клавиатуре кнопку Enter. Введенное вами имя добавится в таблицу, расположенную ниже поля Watch, а вграфе Value этой таблицы отобразится значение, присвоенное в данный момент указанной вами переменной или выражения (рис. 4.70). Если переменнаяеще не инициализирована, то есть ей еще не присвоено никакое значение, вграфе Value появится надпись Expression could not be evaluated. Удалить строку из этой таблицы можно, просто щелкнув мышью по соответствующей строке и нажав на клавиатуре клавишу Delete.

В окне Call Stack отображается имя выполняемой в данный момент программы, процедуры, метода или функции.

Окно Debug Output показывает сообщения Отладчика в процессе работыпрограммы, процедуры, метода или функции.

При помощи окна Locals мы можем увидеть список всех переменных, массивов и объектов, с которыми работает выполняемая в данный момент программа,процедура, метод или функция. В отображаемой в этом окне таблице приводятся имена переменных, массивов и объектов, их значения на данный момент иих тип.

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

Таким образом, мы выяснили, что Отладчик - это мощное и необходимое впрактике создания и отладки приложений средство. Представление о тонкостях работы с Отладчиком Visual FoxPro 9 вы получите, когда начнете активноиспользовать его на практике.