Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1888.DOC
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
5.52 Mб
Скачать

1.16.4. Логические ошибки

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

1.16.5. Пошаговое выполнение программ

Редактор Visual Basic позволяет осуществлять пошаговое выполнение программы. Такой режим можно задать при помощи панели инструментов Debug или из меню Debug, которое включает команды и соответствующие комбинации клавиш.

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

 команда DebugStep Into осуществляет последовательную, шаг за шагом, отладку всей программы, включая процедуры, вызываемые в программе;

 команда Debug Step Over осуществляет последовательную, шаг за шагом, отладку всей программы, но не заходя в процедуры, вызываемые в программе. Если встречается процедура, то она выполняется целиком, а не шаг за шагом, как это делается в команде DebugStep Into;

 команда Debug Step Out завершает выполнение текущей процедуры и останавливается на следующей инструкции программы, откуда процедура была вызвана;

 команда Debug Run to Cursor выполняет программу до инструкции, помеченной курсором.

1.16.6. Точки прерывания

VBA приостанавливает выполнение программы перед строкой кода, содержащей точку прерывания, и переключается в режим прерывания. Точка прерывания устанавливается или снимается командой Debug Toggle Breakpoint. В модуле точки прерывания выделяются полосой кирпичного цвета и кругом того же цвета, как показано на рис. 1.64.

Рис. 1.64. Пример установленных точек прерывания

В одном проекте может быть несколько точек прерывания. Все инструкции, расположенные выше, между и ниже точек прерывания, выполняются в обычном режиме. Одновременно снять все точки прерывания можно командой Debug Clear All Breakpoint.

1.16.7. Вывод значений свойств и переменных

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

Окно Watches отображается на экране командой View Watch Window или командой DebugQuick Watch. Его пример приведен на рис. 1.65. Окно позволяет одновременно отображать текущие значения нескольких переменных или свойств. Команда Debug Add Watch добавляет новые контрольные значения в диалоговое окно Watches. Удаление контрольного значения из диалогового окна производится его выделением и нажатием клавиши Delete.

Р ис. 1.65. Пример окна Watches

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

Рис. 1.66. Пример окна Locals

Окно Immediate отображается на экране командой ViewImmediate Window. Его пример приведен на рис. 1.67. Оно предоставляет пользователю следующие возможности:

 набирать и вычислять отдельные инструкции VBA. Для этого достаточно ввести в окне соответствующую инструкцию и нажать клавишу Enter. Единственным ограничением на инструкцию является то, что она должна быть набрана в одну строку;

 определять текущие значения переменных и свойств. Для этого в окне необходимо набрать вопросительный знак, имя переменной или свойства и нажать клавишу Enter;

 устанавливать новые текущие значения переменных. Для этого в окне необходимо набрать имя переменной, знак «» и новое значение переменной;

 определять значения встроенных в VBA констант. Для этого в окне необходимо набрать вопросительный знак, имя константы и нажать клавишу Enter.

Рис. 1.67. Пример окна Immediate