Пошаговая отладка программы




Отладка программ

Любая достаточно объемная программа требует отладки, состоящей в поиске и устранении ошибок. Интегрированная среда разработки содержит все необходимые средства для устранения любых типов ошибок и контроля за ходом выполнения программы. В ней предусмотрены средства, позволяющие выполнять программы в пошаговом режиме, следить за изменением значений переменных или выражений и выполнять трассировку (регистрировать вызовы) процедур.

В разрабатываемой вами программе могут присутствовать различные типы ошибок. Обычно различают ошибки трех типов:

1. Ошибки при компиляции. Такие ошибки возникают в неправильно составленных программных конструкциях. Примерами подобных ошибок могут служить неполные пары инструкций (например, If...End If или For...Next) или ошибки, нарушающие правила языка Visual Basic (например, ошибочно записанные ключевые слова, пропущенные разделители или неверные типы данных). К ошибкам при компиляции относятся также ошибки синтаксиса, являющиеся результатом нарушения правил грамматики или пунктуации. Примерами этого типа ошибок являются неполные пары скобок или неверное количество аргументов, передаваемых в функцию.

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

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

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

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

Отладка программы в пошаговом режиме

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

Режим прерывания

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

ПРИМЕЧАНИЕ: Интегрированная среда разработки может находиться в одном из следующих режимов: режим конструирования формы (в этом режиме создаются формы), режим выполнения (переход в него осуществляется сразу после запуска программы), режим прерывания (при приостановке выполнения программы мы переходим в режим прерывания, позволяющий выполнять отладку программ)

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

· Добавить в процедуру инструкцию Stop.

· Выполнить команду Run→Break (Запуск→Прервать) в процессе выполнения программы. В этом случае будет отображена строка программы, на которой было прервано ее выполнение.

· Установить точку останова.

· Запустить программу не через команды меню Run (Запуск), а используя команды меню Debug (Отладка) (см. раздел «Меню Debug»).

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

Рис 6.1 Окно диалога с сообщением об ошибке

Нажатие в этом окне кнопки Debug (Отладка) приводит к прерыванию выполнения программы и вызову окна редактора Visual Basic, в котором курсор будет установлен в строку кода с обнаруженной ошибкой.

Установка точки останова

Точка останова — это строка программы, на которой автоматически приостанавливается выполнение программы. Для установки точки останова выполните следующее:

1. Войдите в окно программы и установите курсор в строке, где требуется остановить программу.

2. Нажмите кнопку Toggle Breakpoint (Точка останова) на панели инструментов Debug (Отладка) или выполните команду Debug→Toggle Breakpoint (Отладка→Точка останова).

После выполнения команды Toggle Breakpoint(Точка останова) строка с установленной точкой останова будет помечена определенным цветом. При этом на полосе индикатора, в поле напротив выделенной строки, появится специальный значок, как показано на рис, 6.2.

Рис 6.2 Установка точки останова

ПРИМЕЧАНИЕ: При отладке программ часто используется область, расположенная вдоль левого края окна программы. Эта область носит название полосы индикатора (Margin Indicator Bar). В ее полях отображаются различные индикаторы, используемые при отладке програм.

СОВЕТ: Установить точку останова можно также и другим, более быстрым способом: щелкните кнопкой мыши на поле полосы индикатора напротив той строки, в которой требуется установить точку останова.


Снятие точки останова

Для снятия точки останова переместите курсор на строку, где установлена точка останова, и нажмите кнопку Toggle Breakpoint (Точка останова) на панели инструментов Debug (Точка останова). Чтобы продолжить выполнение программы, выберите команду Run→Run Sub/UserForm (Запуск→Продолжить). Снять точку останова можно также, щелкнув в области полосы индикатора напротив нужной строки. Также можно снять все точки останова командой Debug→Clear All Breakpoints (Отладка→Снять все точки останова).

Пошаговая отладка программы

Пошаговую отладку программы можно производить в разных режимах:

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

ПРИМЕЧАНИЕ: Чтобы использовать команду Step Into (Шаг с заходом), не обязательно запускать и приостанавливать выполнение программы. Достаточно установить курсор в окне программы на процедуру, которую требуется отладить в пошаговом режиме, и выполнить команду Step Into (Шаг с заходом).

2. Если нет необходимости заходить в вызываемые процедуры, нажмите кнопку Step Over (Шаг с обходом) на панели инструментов Debug (Отладка). Можно воспользоваться одноименной командой меню Debug (Отладка) или комбинацией клавиш Shift+F8. В результате вызываемые процедуры будут выполняться без их пошаговой отладки.

3. Для выхода из процедуры можно воспользоваться кнопкой или командой Step Out (Шаг с выходом) , а также нажать клавиши Ctrl+Shift+F8. При этом текущая процедура будет выполнена до конца и программа перейдет на строку, следующую за ее вызовом.

4. Если требуется выполнение части программы до строки, в которой находится курсор, выберите команду Debug→Run To Cursor (Отладка→Выполнить до текущей позиции) или нажмите клавиши Ctrl+F8. При этом программа будет выполнена до текущей строки и произойдет переход в пошаговый режим.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-26 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: