Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная 2 ОТЛАДКА И КОМПИЛЯЦИЯ С ИСПОЛЬЗОВ...doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
774.14 Кб
Скачать

Выполнение больших фрагментов

Для прогона программы до строки, где находится курсор ис­поль­зует­ся команда F7, а в Turbo Pascal - RunGo To Cursor или клавишу F4.

Переключение экранов

Чтобы вывести экран пользователя, нажмите клавиши F4, а в Turbo Pascal - Alt+F5. Чтобы вернуться, нажмите любую клавишу или щел­кни­те "мышью".

Вычисление и модификация

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

Чтобы вычислить выражение в Turbo Pascal, выберите команду DebugEvaluate/ Modify или нажмите клавиши Ctrl+F4. Отладчик вы­во­дит диалоговое окно Evaluate and Modify (Вычисление и модифи­ка­ция). По умолчанию слово в позиции курсора в текущем окне ре­дакти­рования выводится в поле Expression (Выраже­ние). Можно отреда­кти­ровать это выражение, набрать другое вы­ражение или выбрать вы­чис­ляемое ранее выражение из списка протокола.

Когда вы нажимаете Enter или щелкаете "мышью" на командной кнопке Evaluate, текущее значение выражения в поле Expression показывается в поле Result.

Модификация переменных

Во время отладки в Turbo Pascal с помощью диалогового окна Evaluate and Modify можно изменить значение переменной. Для этого нужно ввести переменную в поле Expression, затем в поле New Value набрать новое значение.

Вычисление и модификация в QuickBasic и Code View

Они имеют более скромные средства. Можно использовать коман­ду DebugAdd Watch, а QuickBasic также - окно непосредственно­го выполнения (окно Immediate).

Отладка программных проектов Visual Basic в среде Visual Studio

Из книги :

Самоучитель Visual Basic 2008 / Д. А. Шевякова, А. М. Степанов, А. Н. Дукин [Под ред. А. Ф. Тихонова]. – СПб.: БХВ-Петербург, 2008. – 592 с.: ил. + Дистрибутив (на DVD)

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

Ошибки в программе могут быть синтаксическими или смысловыми. Син­таксические ошибки — наиболее очевидные. Они возникают, если код напи­сан без соблюдения правил языка программирования. Эти ошибки обнару­живаются компилятором, который выдает соответствующее сообщение. В Visual Basic сообщения отображаются в окне Output (Вывод). В них указаны номер строки, файл, в котором обнаружена ошибка, и краткое ее описание. Обнаружение и исправление таких ошибок является достаточ­но легким и быстрым.

Смысловые ошибки являются более серьезными. Они возникают, когда синтаксически код корректен, но выполняемые этим кодом действия отли­чаются от предполагаемых вами. Смысловые ошибки не обнаруживаются компилятором. Именно для обнаружения ошибок данного вида и использу­ется отладчик.

В набор инструментария отладки Visual Basic 2008 входят такие основные инструменты, как:

  • панель инструментов Standard (Стандартная), а также Debug (Отладка) с кнопками выполнения команд для отладки приложения;

  • окно Immediate Window (Окно непосредственного выполнения), предна­значенное для непосредственного ввода команд, требующих немедленного выполнения;

  • окно Watch (Наблюдение), служащее для просмотра значений выраже­ний, включенных в список просмотра;

  • окно Locals (Локальные переменные), предназначенное для просмотра значений переменных;

  • редактор кода со встроенными возможностями просмотра переменных, констант, свойств, выражении при отладке приложения в точках останова и пошаговом выполнении приложения;

  • окно Call Stack (Стек вызовов) для просмотра вызванных, но незавершен­ных процедур.

На стандартной панели инструментов располагаются кнопки (табл. 1), ис­пользование которых позволяет осуществлять пошаговую отладку приложе­ния. По умолчанию в главном окне программы Visual Basic эта панель всегда присутствует.

Таблица 1. Используемые для отладки кнопки панели инструментов Standard

Кнопка

Название

Назначение

Start Debugging (Запустить отладку)

Запускает программу или продолжает ее выполнение после прерывания

Break All (Остановить)

Вызывает прерывание программы в необходимом месте (без использования точек ос­танова)

Stop Debugging (Остано­вить отладку)

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

Step Into (Вход в процедуру)

Осуществляет пошаговое выполнение процедуры, включая также вызываемые ею процедуры

Step Over (Перешагивание)

Осуществляет пошаговое выполнение про­цедуры без трассировки вызываемых ею процедур

Step Out (Выход из процедуры)

Выполняет пошаговое выполнение текущей процедуры до выхода из нее

На панели инструментов Debug (Отладка) находятся кнопки, обеспечи­вающие работу по отладке приложения. Назначение этих кнопок описано в табл. 2. Панель инструментов Debug (Отладка) активизируется при вы­боре из меню View (Вид) команды Toolbars (Панели инструментов), а за­тем — Debug (Отладка).

Таблица 2. Кнопки панели инструментов Debug

Кнопка

Название

Назначение

Show Next Statement (Пока­зать следующую инструкцию)

Осуществляет переход к следующей инструкции

Immediate (Непосредственное выполнение)

Открывает окно Immediate Window

Locals (Локальные)

Открывает окно Locals

Watch (Наблюдение)

Открывает окно Watch

Call Stack (Стек вызовов)

Вызывает окно Call Stack

Breakpoints (Точки останова)

Вызывает окно Breakpoints

С остальными инструментами вы сможете познакомиться при рассмотрении процессе отладки. Откройте любое из ранее разработанных приложений, например, приложение для изучения элементов управления Listview и Treeview. Добавьте точку останова в функции заполнения списка. Для это­го щелкните кнопкой мыши, установив указатель в сером вертикальном поле редактора кода напротив интересующей строки, или нажмите клавишу <F9>. При этом в сером вертикальном поле рядом с выбранной командой появляет­ся жирная точка, сама строка выделяется красным цветом, оста­новка выполнения программы произойдет именно в этом месте кода.

Visual Basic обеспечивает управление поведением точки останова с по­мощью двух ее свойств— Hit Count и Condition, которые можно задать с помощью диалогового окна Breakpoints (Точки останова) или команды Breakpoint (Точка останова) контекстного меню, открываемого щелчком правой кнопки мыши на строке с установленной точкой останова.

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

Свойство Condition представляет выражение, которое определяет, что про­грамма будет прервана в точке останова только при удовлетворении заданно­го в нем условия.

Точку останова можно устанавливать не только в тексте программы, но и в окне Call Stack (Стек вызовов), в точке вызова процедуры. Это может быть особенно полезно при отладке рекурсивных процедур (процедур, которые вызывают сами себя). Если вы прервали выполнение программы после опре­деленного числа вызовов, можете использовать окно Call Stack (Стек вызо­вов), чтобы установить точку останова на одном из предыдущих вызовов, из которого еще не было возращено значение. Отладчик встретит точку остано­ва и прервет выполнение программы при выходе из этого вызова.

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

Для более подробного контроля над выполнением приложения можно при­менять окна просмотра: Immediate Window (Окно непосредственного вы­полнения), Watch (Наблюдение), Locals (Локальные переменные), Quick-Watch (Быстрый просмотр), Call Stack (Стек вызовов).

Кроме прямого ввода и выполнения команд, окно Immediate Window (Окно непосредственного выполнения) можно использовать для выяснения значения переменных и выражений. Для этого необходимо выполнить команду ? с указанием интересующего выражения. Значе­ние выражения выводится в следующей строке этого же окна.

При работе с окном Immediate Window (Окно непосредственного выполне­ния) удобно использовать объект Debug и его метод Print. В режиме запуска метод Debug.Print выводит текстовое сообщение в окно Immediate Window (Окно непосредственного выполнения). Синтаксис этого метода очень простой:

Sub Print(ByVal message As String)

где message — текст выводимого в окно Immediate Window (Окно непо­средственного выполнения) сообщения.

В окне Locals (Локальные переменные) можно просмотреть все переменные и их значения, используемые в данный момент приложением.

Основным окном для просмотра значений переменных является окно Watch (Наблюдение). В этом окне можно просмотреть значение любой переменной или выражения из списка введенных для контроля. Окно Watch (Наблюдение) доступно только в режиме отладки.

Для того чтобы добавить в список просматриваемых значений новую пере­менную или выражение, введите имя переменной или выражение в поле Name, Кроме того, переменную или выражение можно перетащить в окно Watch (Наблюдение) из окна редактора кода или окна Locals (Локальные переменные).

Формат числа, просматриваемого с помощью окна Watch (Наблюдение) или других окон, может быть десятичным или шестнадцатеричным. Для перехода к шестнадцатеричному коду необходимо щелкнуть правой кнопкой мыши в окне и выбрать команду Hexadecimal Display (Отображение шестнадцатеричного кода) открывшегося контекстного меню.

В дополнение к окну Watch (Наблюдение) для просмотра выражений можно использовать окно QuickWatch (Быстрый просмотр) для быстрого доступа к значению выражения. Для этого окна не требуется вводить спи­сок контролируемых выражений, достаточно выделить интересующее выра­жение в тексте кода и вызвать окно QuickWatch (Быстрый просмотр) с по­мощью одноименной команды меню Debug (Отладка) или нажатием комбинации клавиш <Shift>+<F9>.

Для контроля выполняемых процедур предназначено окно Call Stack (Стек вызовов), в котором показаны все вызванные и активные в данный момент процедуры.

Из окна Call Stack (Стек вызовов) можно перейти к коду программы, откуда был выполнен вызов выбранной в списке процедуры, с помощью двойного щелчка на имени выбранной процедуры.