- •Программирование на языке visual basic 2005
- •Лабораторная работа № 1. Изучение интегрированной среды разработки Visual Studio 2005
- •Основные сведения об интегрированной среде разработки
- •1.6. Вид формы с калькулятором
- •Лабораторная работа №2 Отладка программ и обработка ошибок в Visual Basic 2005 Цель лабораторной работы:
- •Основные сведения о средствах отладки и обработки ошибок
- •Средства обнаружения и предупреждения возникновения синтаксических ошибок
- •Обработка ошибок времени выполнения
- •Средства обнаружения логических ошибок
- •Выполнение лабораторной работы
- •Лабораторная работа №3 Создание и обработка файлов Цель лабораторной работы:
- •Выполнение лабораторной работы
- •Лабораторная работа № 4. Разработка и отладка приложения по индивидуальному заданию
- •Лабораторная работа 5
- •5.1. Наследование формы
- •5.2. Настройка производной формы
- •5.3. Создание собственных базовых классов
- •5.3.1. Добавление в проект нового класса
- •Создание проекта Person Class
- •Объявление переменных класса
- •Создание свойств
- •Создание метода
- •Создание объекта с помощью нового класса
- •5.4. Наследование базового класса
- •Использование ключевого слова Inherits
- •Краткая справка по лабораторной работе 5
- •Приложение 1
- •Приложение 2
- •Приложение 3
- •Библиографический список
Средства обнаружения логических ошибок
В Visual Basic для обнаружения логических ошибок имеются следующие средства отладки программ:
-
точка останова. Точка останова - это специальная инструкция в процедуре, на которой работа процедуры приостанавливается;
-
трассировка процедур. Трассировка - это пошаговое (пооператорное) выполнение процедуры, позволяющее контролировать правильность выполнения алгоритма процедуры;
-
отслеживание в диалоговых окна Locals, Quick Watch и Watches значений переменных, выражений, свойств объектов, возможность изменения этих значений в окне Watches.
В Visual Basic имеется три режима работы с программой:
-
режим работы с текстом программы в редакторе кода;
-
режим выполнения, в котором текст программы не доступен для изменения, его можно только просматривать в окне редактора кода;
-
режим прерывания (режим отладки), когда осуществляется приостановка работы программы. Режим позволяет просматривать значения переменных, продолжать или прекращать работу программы, вносить изменения в текст программы.
Кнопки команд, реализующих средства отладки расположены на панели инструментов Debug(отладка). Команды отладки доступны также из меню Debug. Кроме этого выполнить эти команды можно из контекстного меню вызванного в окне редактора кода.
Панель инструментов Debug:
Start/Debugging (Продолжить) |
Запускает программу или продолжает ее выполнение после прерывания |
|
Break All (Прервать) |
Вызывает прерывание программы в нужном месте |
|
Stop Debugging (Сброс) |
Завершает выполнение программы |
|
|
Breakpoints (Точка останова) |
Запуск окна, Breakpoints с помощью которого устанавливаются и редактируются точки останова |
Step Into (Шаг с заходом) |
Осуществляет пошаговое выполнение процедуры с трассировкой вызываемых ею процедур |
|
Step Over (Шаг с обходом) |
Осуществляет пошаговое выполнение процедуры без трассировки вызываемых ею процедур |
|
Step Out (Шаг с выходом) |
Выполняет оставшуюся часть процедуры и останавливается на следующим после вызова процедуры операторе |
|
Run to Cursor (Выполнять до курсора) |
Осуществляет выполнение процедуры от текущего места выполнения до места расположения курсора |
|
Locals (Окно Locals) |
Открывает окно Locals (локальные) с текущими значениями всех локальных переменных процедуры |
|
Immediate (Окно Immediate) |
Открывает окно Immediate (непосредственное выполнение), в котором можно выполнить нужные операторы |
|
Watch (Окно Watch) |
Открывает окно Watch (наблюдение), в котором можно просматривать текущие значения переменных, выражений |
|
|
QuickWatch (Быстрый просмотр) |
Открывает окно Quick Watch для просмотра текущего значения выражения или переменной, в момент останова работы процедуры |
Call Stack (Стек вызова) |
В режиме прерывания открывает диалоговое окно Call Stack со списком всех выполняемых процедур и др. |
|
|
Delete All Breakpoints (Удаление всех точек останова) |
Удаляются все токи останова |
Если каких-то из вышеуказанных кнопок нет на панели инструментов их можно добавить. Для этого надо щёлкнуть на кнопке «Toolbar Options» >> «Add or Remove Buttons» >> «Customize». В появившемся диалоговом окне перейти на вкладку «Commands». Затем в списке «Categories» выбрать пункт «Debug», после чего можно добавить необходимые кнопки, просто перетащив их из списка «Commands» на панель инструментов «Debug».
Точка останова. Точки останова устанавливаются в том случае когда:
-
требуется остановить выполнения программы в нужном месте и проанализировать значение переменных;
-
нужно выполнить трассировку фрагмента процедуры, для проверки работы алгоритма (устанавливается две точки в начало и конец фрагмента процедуры) и т.д.
Установить точку останова можно командой или указателем мыши, щелкнув по полосе индикатора. Полоса индикатора расположена слева от текста процедуры в окне редактора кода и выделена серым цветом.
Установленные в среде разработки точки останова сохраняются вместе с программой, а в exe-файл не включаются.
Удаление точки останова осуществляется повторным выполнением команды Delete в окне Breakpoints. Несколько точек останова модно удалить одновременно командой Delete All Breakpoints меню Debug.
Можно остановить выполнение программы в нужном месте, не используя точку останова. Для этого следует установить курсор в ту строку, до которой должна выполняться программа, и выбрать команду Run To Cursor меню Debug.
Трассировка процедур. Выполняется в режиме отладки программы и позволяет наблюдать за результатами выполнения каждой строки программы. Является важным средством поиска ошибок и отладки программ. Трассировку можно выполнить с помощью команд Step Into, Step Over и Step Out. Друг от друга команды отличаются правилами работы с вызываемыми процедурами.
Если трассировка программы выполняется командой Step Into (шаг с заходом), то при выполнении оператора вызова процедуры (функции) осуществляется переход в процедуру (функцию) и последующее выполнение команды Step Into приводит к трассировке процедуры.
В отличие от команды Step Into, команда Step Over (шаг с обходом) выполняет вызов процедуры (функции) как единичный оператор, те есть без захода в процедуру (функцию).
В том случае, когда требуется пошаговое выполнение части процедуры до заданного оператора, следует воспользоваться двумя операторами Step Into и Step Out(шаг с выходом). До заданного оператора трассировка должна выполняться командой Step Into. Когда маркер помечает заданный оператор, следует выполнить команду Step Out. Команда Step Out выполнить оставшуюся часть процедуры и возвратиться в точку вызова.
Просмотр значений. Выполняется в режиме отладки и позволяет контролировать значения переменных и выражений в процессе выполнения программы. Visual Basic предоставляет для этого следующие средства:
-
Окно Quick Watch. В окне Quick Watch можно также просмотреть значение одной выбранной переменной (курсор должен находиться на имени переменной). Из окна Quick Watch можно выполнить добавление переменной в окно просмотра Watch (кнопка Add Watch). Окно Quick Watch открывается командой Quick Watch меню Debug.
-
Окно Watch. В окне Watch отображаются контролируемые выражения и их значения. Окно Watch открывается кнопкой Watch панели Debug или командой Add Watch контекстного меню.
Добавить выражение в окно можно:
-
из окна команды Quick Watch кнопкой Add Watch;
-
командой Add Watch меню Debug;
-
перетаскиванием выражения из окна редактора кода в окно Watches;
-
написав имя переменной в окне «Watch» в поле «Name».
-
Выражение в окне Watch можно не только просматривать, но и редактировать. Можно изменить также и текущее значение выражения. Для этого достаточно в окне Watch щелкнуть мышью на изменяемом выражении или значении.
-
Окно Locals. Это окно отображает все локальные переменные выполняемой процедуры и их значения в режиме отладки автоматически. Окно Locals открывается кнопкой Locals панели инструментов Debug.