РИСУНОК 6. Использование метода Debug.Print для тестирования встроенных функций.
В окне Immediate не производится перенос текста на следующую строку, поэтому объем выводимой информации по возможности следует сократить. Удалять операции Debug.Print из кода нет необходимости, поскольку пользователь никогда не увидит окно Immediate. Однако, если количество операторов окажется слишком большим, это может несколько повлиять на производительность.
Метод Debug.Assert
Метод Debug.Assert приостанавливает выполнение отдельной строки кода в зависимости от поставленного условия. Например, если оператор кода считывает Debug.Assert False, код приостанавливает выполнение данной строки. Это позволяет выполнять код по шагам и отладить ошибки.
СОВЕТ
Никогда не используйте в коде зарезервированное слово Stop. Следует учитывать, что, если оставить это ключевое слово, выполнение кода остановится при запуске приложения пользователем. Рекомендуется всегда использовать Debug.Assert False, поскольку данный оператор всегда удаляется компилятором.
|
|
Использование окна отладки
Чтобы открыть окно Immediate, необходимо запустить редактор Visual Basic и выбрать в меню команду View | Immediate Window (Вид | Окно отладки) или нажать клавиши Ctrl+G. Окно отладки можно использовать для оценки и установки переменных, запуска функций и подпрограмм, а также для вывода результатов выражения Debug.Print.
Оценка переменных
Для оценки переменных в окне Immediate необходимо ввести знак вопроса с именем переменной, например,? strName. Следует также помнить, что значение переменной можно определить, задержав курсор мыши над переменной в режиме прерывания.
Изменение значения переменной
Для изменения значения переменной в окне Immediate необходимо ввести имя переменной со знаком равенства и новым значением, например, inti = 10.
Оценка встроенных функций
Для оценки встроенных функций в окне Immediate необходимо ввести знак вопроса и имя встроенной функции, например,? Now.
Выполнение пользовательских функций
Для запуска пользовательских функций в окне Immediate необходимо ввести знак вопроса, имя функции и соответствующие параметры, например,? MyFunction.
Выполнение пользовательских подпрограмм
Для выполнения пользовательских подпрограмм в окне Immediate необходимо ввести имя подпрограммы и соответствующие параметры, например, MySubProcedure. Перед именем подпрограммы знак вопроса не ставится.
СОВЕТ
При запуске подпрограммы или функции в окне Immediate необходимо ввести имя подпрограммы или функции (знак вопроса перед именем подпрограммы не используется). Если подпрограмма или функция находится в модуле формы, перед именем процедуры следует ввести имя формы (например, frmTest. MySubProcedure).
|
|
Полезные советы
Поскольку значительную часть времени разработчик проводит в работе с окном Immediate, приведенные ниже советы могут оказаться полезными.
Выполнение операторов в окне Immediate
Для выполнения оператора кода в окне отладки необходимо поместить курсор где-нибудь в операторе. Курсор не обязательно должен находиться в начале или в конце оператора кода.
Если в окне Immediate отображается несколько операторов кода, не обязательно удалять операторы, находящиеся после требуемого оператора. Достаточно поместить курсор где-нибудь в операторе кода, который необходимо выполнить, и нажать клавишу Enter.
Перемещение в окне отладки
Для передвижения курсора используются мышь и клавиши со стрелками. С помощью клавиши Home можно передвинуть курсор к началу текущей строки кода, а с помощью клавиши End — к концу строки.
Клавиши Page Up и Page Down позволяют переместиться на страницу вверх и вниз соответственно. Для установки курсора в начало окна Immediate необходимо нажать клавиши Ctrl+Home. Для перехода в конец окна отладки используется комбинация клавиш Ctrl+End.
Удаление кода в окне отладки
Для быстрого выделения всего кода в окне отладки в целях последующего удаления используется комбинация клавиш Shift+Ctrl+Home, если курсор находится в конце кода в окне Immediate. Весь код будет выделен, и можно нажать клавишу Delete для его удаления.
Если курсор находится в начале кода в окне Immediate, необходимо использоватькомбинацию клавиш Shift+Ctrl+End для выделения всего кода. Затем можно нажать клавишу Delete.
Использование отладчика
В Access 2000 очень просто заниматься отладкой приложений. Для этого нужно просто остановить выполнение кода в определенных местах и, выполняя его шаг за шагом, наблюдать за ходом выполнения.
Установка прерываний
Прерывание останавливает выполнение кода. Для установки точки прерывания необходимо поместить курсор на оператор и в меню редактора Visual Basic выбрать команду Run | Toggle Breakpoint (Выполнить | Переключить прерывания) или нажать клавишу F9. Следует помнить, что нельзя установить прерывание на пустой строке, строке комментария или строке кода, содержащей оператор Dim. Еще один способ установки прерывания — щелкнуть на сером левом поле окна кода рядом с соответствующей строкой кода. При этом на левой границе появится большая красная точка, которая указывает на установленную точку прерывания.
При запуске программы выполнение приостанавливается на том операторе, где установлено прерывание (рис. 7). Автоматически открывается модуль кода, и оператор кода будет выделен желтым цветом. Можно шаг за шагом проходить по коду, просматривать или менять значения переменных и т.п.
РИСУНОК 7. Выполнение кода приостановлено на точке прерывания
Для удаления точки прерывания необходимо в меню выбрать команду Run | Clear All Breakpoints (Выполнить | Убрать прерывания) или нажать клавиши Ctrl+Shift+F9.
Выполнение кода в пошаговом режиме
Когда выполнение кода приостанавливается из-за прерывания, выражение кода, выделенное желтым цветом, не выполняется. Продолжить выполнение кода можно несколькими способами.
Step Into
Для выполнения одного оператора кода одновременно необходимо в меню редактора Visual Basic выбрать команду Debug | Step Into (Отладка | Построчно) или нажать клавишу F8. Построчное выполнение кода — самый эффективный способ наблюдения за выполнением программы и значениями переменных в коде.
СОВЕТ
Некоторые разработчики предпочитают пользоваться панелью инструментов Debug. Чтобы открыть панель инструментов, необходимо в меню выбрать команду View | Toolbars | Debug (Вид | Панели инструментов | Отладка). Л
Step Over
Иногда одна процедура вызывает другие процедуры. Вызываемая процедура может быть абсолютно надежной (иными словами, полностью протестированной и свободной от ошибок). Для выполнения вызванной процедуры целиком, без пошагового перехода от строки к строке, необходимо в меню выбрать команду Debug | Step Over (Отладка | Выполнение блока) Shift+FS.
|
|
После того как вызванная процедура завершится, снова произойдет останов. С этого места можно продолжить построчное выполнение кода.
Step Out
Предположим, в пошаговом режиме выполняется процедура, вызывающая другую процедуру. Находясь в вызванной процедуре, можно быстро закончить выполнение оставшегося кода и возвратиться в исходную процедуру. Для этого в меню необходимо выбрать пункты Debug | Step Out (Отладка | Выход из блока) или нажать клавиши Ctrl+Shift+F8. Такая опция зачастую бывает достаточно полезной.