Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций по КИТ.doc
Скачиваний:
3
Добавлен:
04.11.2018
Размер:
2.3 Mб
Скачать

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

Логические ошибки труднее всего обнаружить и устранить. Эти ошибки не приводят к прерыванию выполнения программы, т.е. визуально все идет гладко и выглядит так, как будто программа работает безупречно. Но это только кажущаяся идиллия, т.к. программа выдает неверные результаты. Локализация логических ошибок связана с тщательным анализом алгоритма программы с привлечением средств отладки УВА (рис. 12.8).

Рис. 12.8. Редактор кода в режиме прерывания

Инструкция Option Explicit

Простейшим средством предотвращения случайных ошибок является использование инструкции Option Explicit. Эта инструкция предписывает явно описывать все переменные, встречающиеся в программе. Использование инструкции Option Explicit позволяет избежать следующей трудно отслеживаемой ошибки. Предположим, что в программе используется переменная с именем Ссуда, а при наборе имени этой переменной где-то в программе вместо русской буквы с по ошибке набрана латинская буква с. Визуально, эти имена ничем не отличаются друг от друга, но воспринимаются программой как имена разных переменных. Если бы использовалась инструкция Option Explicit, а значит имело место явное описание переменной Ссуда, то компилятор указал бы на переменную Ссуда с латинской буквой с, как на неописанную, и эта, трудно отслеживаемая ошибка, была бы быстро найдена.

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

Редактор VBA позволяет выполнять пошаговую отладку программы. Ее можно выполнить либо при помощи панели инструментов Отладка (Debug), либо меню Отладка (Debug), которое включает команды и соответствующие комбинации клавиш (рис. 12.9). Если панель инструментов Отладка (Debug) не отображена на экране, то ее можно отобразить, выполнив команду Вид, Панели инструментов, Отладка (View, Toolbars, Debug).

Рис. 12.9. Панель инструментов Отладка и раскрывающееся меню Отладка

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

  1. Команда Отладка, Шаг с заходом (Debug, Step Into), либо кнопка Шаг с заходом (Step Into) панели инструментов Отладка (Debug) осуществляет последовательную шаг за шагом отладку всей программы, включая процедуры, вызываемые в программе.

  2. Команда Отладка, Шаг с обходом (Debug, Step Over), либо кнопка Шаг с обходом (Step Over) панели инструментов Отладка (Debug) осуществляет последовательную шаг за шагом отладку всей программы, исключая процедуры, т.е. если встречается процедура, то она выполняется целиком, а не пошагово, как это делается в команде Отладка, Шаг с заходом (Debug, Step Into)

  3. Команда Отладка, Шаг с выходом (Debug, Step Out), либо кнопка Шаг с выходом (Step Out) панели инструментов Отладка (Debug) завершает выполнение текущей процедуры и останавливает процесс пошаговой отладки на следующей после вызвавшей ее инструкции программы.

  4. Команда Отладка, Выполнить до текущей позиции (Debug, Run to Cursor) выполняет программу до инструкции, на которой установлен курсор.

Точка останова

Точка останова устанавливается или снимается с помощью команды Отладка, Точка останова (Debug, Toggle Breakpoint), либо посредством кнопки Точка останова (Toggle Breakpoint) панели инструментов Отладка (Debug).

На листе модуля точки останова выделяются полосой кирпичного цвета и кругом того же цвета (рис. 12.10).

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

Одновременно снять все точки останова можно, выполнив команду Отладка, Снять все точки останова (Debug, Clear All Breakpoint).