Анимация
JavaScript


Главная  Библионтека 

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 [ 131 ] 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146

End Sub

Глава 12

Подготовка и отладка пользовательского

приложения

12.1. Общие принципы отладки приложения

12.2. Инструментальные средства отладки

Отладка программы в Visual FoxPro Отладка программы в Access

Обработка ошибок процессора баз данных в Access Отладка программы в Visual Basic

12.3. Подготовка приложения для распространения

12.1. Общие принципы отладки приложения

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

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

Ошибки программы можно разделить на три группы:

• Синтаксические ошибки связаны, как правило, с неправильным написанием команд и функций.

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

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

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

• Окно Trace для отслеживания процесса выполнения программы.

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

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

• Можно добавить в программу специальный отладочный код, который будет выводить контрольные сообщения и другую важную для отладки информацию. В этом случае чаще всего используются команды WAIT WINDOW, ? или функция MESSAGEBOX(). Можно также периодически сохранять значения переменных с помощью команды LIST MEMORY TO FILE.

Access и Visual Basic имеют менее богатый набор средств отладки. В то же время проверка синтаксиса набираемого программного кода выполнена в них более удобно. При написании программы в Visual Basic, а следовательно, и в Access синтаксические ошибки перехватываются уже при переходе на следующую строку при редактировании кода процедуры или функции или сразу перед исполнением кода. Например, если при создании конструкции выбора с помощью оператора If вы, написав выражение условия, не завершаете ее оператором Then, то немедленно получите сообщение об ошибке, и строка с неправильной командой будет выделена:

Sub Form After Update()

If me![txtTeam]>> "Boston"



End If End Sub

Простые ошибки, связанные с неправильным написанием команд, в Visual FoxPro выявляются при компиляции программы. Сообщения о таких ошибках выводятся на экран и сохраняются на диске в файле с именем, одинаковым с именем программы и имеющим расширение ERR, если сделана установка

SET LOGERRORS ON off

которая сохраняет все сообщения об ошибках в текстовом файле. SET DEVELOPMENT ON off

проверяет дату и время создания программного файла и, если файл с исходным кодом создан позднее, чем с объектным (после компиляции), автоматически перекомпилирует его перед выполнением.

Эти установки можно сделать и в диалоговом режиме, выбрав вкладку General в окне Options, вызвать которое можно в меню Tools.

12.2. Инструментальные средства отладки

В этом параграфе мы рассмотрим основные методы и способы отладки пользовательского приложения в Visual FoxPro, Access и Visual Basic.

Отладка программы в Visual FoxPro

Для выявления ошибок, связанных с неправильными вычислениями или ветвлением программы, в FoxPro имеется целый комплекс специальных средств, делающих работу по отладке программы быстрой и эффективной. При проверке сомнительных мест в программе поможет команда Trace Window из меню Tools или установка

SET ECHO on OFF

которая активизирует окно трассировки Trace для отслеживания работы программы по ее исходному тексту, так как текущая выполняемая команда в этом окне выделяется. На рис. 12.1 приведено окно Trace и даны пояснения для его основных элементов. С помощью команд, расположенных в меню окна, можно выполнить следующие действия:

УГ1р1ДЁ11ение йыПйЛненийи Программы & режиме йтЛйДй*

Завершение раВоты прсграумы без отладки Выполнение процедуры &еэ отладки

Псшэговы/ рбж-ли esin олив НИН 1;омэвд в программе

Илмйнйние хараьгтйрисгик шрлфта

А .


Tli.ollk-

Pmcaduro:

I Ьле для вывода имен,1 программы

Рис. 12.1.



• Open - открытие программы.

• Cancel - прерывание работы программы.

• Line Numbers - нумерация программных строк.

• Clear Breakpoints - удаление точек останова.

• Trace Between Breaks - управление режимом просмотра команд в окне Trace.

• Throttle - установка задержки времени выполнения команд в программе.

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

1. Выполните команду Trace Window из меню Tools.

2. Откройте требуемую программу с помощью команды Open меню Program окна Trace.

3. Установите задержку выполнения кода для возможности визуального наблюдения с помощью команды Throttle этого же меню. Время задержки придется подобрать опытным путем, так как этот показатель зависит от сложности программы и быстродействия компьютера.

4. Запустите программу на выполнение, выбрав меню Do окна Trace.

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

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

Пpеpвать выполнение пpогpаммы можно нажатием клавиши Esc. Если необходимо пpиостановить выполнение пpогpаммы в опpеделенных точках, щелкните мышкой на поле слева от нужной строки. Слева от стpоки появится отметка в виде точки. Каждый pаз пpи достижении этого места выполнение пpогpаммы будет пpиостанавливаться, что позволит пpосмотpеть содержимое таблиц, значений всех вpеменных пеpеменных и выполнить дpугие действия, связанные с контpолем состояния сpеды, а затем пpодолжить (Resume) или пpеpвать работу программы (Cancel). Отменить пpиостановку можно повтоpением указанных действий.

Расширить возможности трассировки позволяет установка

SET DEBUG ON off

которая дает возможность контpолиpовать значения любых выpажений и задавать условия приостановки выполнения программы во вpемя ее pаботы (команда Debug Windows в меню Tools). Hабеpите идентификатоpы вpеменных пеpеменных, элементов массива, стандаpтных функций или полей таблиц в левой части окна отладки, после набоpа каждого идентификатоpа нажимайте клавишу Enter. Пpи выполнении пpогpаммы значения этих выpажений будут выводиться в пpавой части окна.

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

Если вы хотите просматривать написанный вами код событий и методов при работе формы, то нам потребуется использовать окна Trace и Debug совместно, как это показано на рис. 12.2. Для этого выполните следующие действия:



0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 [ 131 ] 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146