Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛАБ_ПОА_2005_Builder.doc
Скачиваний:
6
Добавлен:
03.05.2019
Размер:
1.26 Mб
Скачать

Окно оценки и модификации Оценить|Изменить

Это окно позволяет в процессе отладки не только наблюдать, но и изменять значения переменных. Сделать это окно видимым можно командой Запуск|Оценить|Изменить или командой Отладка|Оценка|Изменение, которую выбирают из контекстного меню, всплывающего при щелчке правой кнопкой в окне Редактора Кода. В окне Выражение можно ввести имя переменной или выражение. Щелкнув на кнопке Оценка, увидим в окне Результат значение этого выражения. Если же в окне Выражение указать имя переменной, а не выражение, то становится доступной кнопка Изменение, позволяющая изменить значение переменной. Следовательно, имеется возможность вмешиваться в процесс выполнения приложения и насильственно изменять значения переменных.

Итак, в окне Выражение укажем имя переменной A, щелкнем на кнопке Оценка и в окне Результат увидим ее значение. В окне Новое значение напишем A/2e300 и щелкнем на кнопке Изменение. В результате значение переменной в приложении изменится, что видно в окне Результат. Перейдя в окно наблюдения (кнопка Часы), там также увидим измененное значение. Поскольку значение A было резко уменьшено, можно продолжить выполнение приложения. Нажимая F9, быстро убедимся, что ошибка переполнения появилась вновь.

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

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

Чаще причина ошибки находится быстрее, если выполнить какой-то фрагмент программы, наблюдая изменения переменных при выполнении каждой команды. Для прохода фрагмента программы по шагам можно использовать следующие команды:

Команда

«Горячие»

клавиши

Пояснения

Через шаг

F8

Пошаговое выполнение строк программы, считая вызов функции за одну строку, т.е. вход в функции не производится

След в

F7

Пошаговое выполнение программы с заходом в вызываемые функции

Шаг на следующую линию

Shift+F7

Переход к следующей исполняемой строке

Выполнить до кур-

сора

F4

Команда выполняет программу до того выполняемого оператора, на котором рас-

положен курсор в окне редактора кода

Выполнить до воз-

вращения

Shift+F8

Выполнение программы до выхода из те-

кущей функции, останов на операторе, следующем за вызовом этой функции

Показать точку выполнения

Команда помещает курсор на операторе, который будет выполняться следующим

Испытаем команды на рассматриваемом примере. Выведем переменную A и выражение Form1->Label1->Caption в окно наблюдения Список часов. Это окно можно встроить в Инспектор Объектов. В режиме проектирования окно наблюдения будет храниться на отдельной странице позади Инспектора Объектов, а во время выполнения приложения страницы Инспектора Объектов будут исчезать, и при остановах можно наблюдать в окне наблюдения значения переменных. Для этого надо сохранить описанную (или любую другую) конфигурацию отладочных окон с помощью команды Вид|Рабочие столы|Сохранить рабочий стол и командой Вид|Рабочие столы|Настройка отладки рабочего стола задать эту конфигурацию как отладочную. Проще осуществлять подобные операции с конфигурациями соответствующими быстрыми кнопками вверху окна ИСР.

Выведя переменную и выражение в окно наблюдения Список часов и встроив это окно в Инспектор Объектов, перейдем в код и откомпилируем модуль. Поместим курсор на строке с оператором A*=10000; Теперь нажмем F4, чтобы приложение выполнялось до строки с курсором. Приложение начнет выполняться. Нажмем в нем кнопку. Перейдем в Редактор Кода. В нем будет выделена строка, на которой стоял курсор перед выполнением. Теперь, нажимая F7 или F8 (в данном случае все равно), выполняем операторы по шагам, а в окне наблюдений следим за изменением переменной и выражения.

Через несколько циклов переведите курсор на оператор, следующий после цикла и задающий значение Label1->Caption. Нажмите F4. Тем самым отладчику указано, что ему надо без остановов выполнять приложение до строки, указанной курсором. Все оставшиеся проходы цикла будут выполнены без остановов, и программа остановится на указанной строке. Если после этого нажать клавишу F7 или F8, то результат будет различным. При нажатии F8 произойдет переход к закрывающей фигурной скобке. А при нажатии F7 сначала попадем в заголовочный файл dstring.h. В этом файле объявлены функции работы со строками типа AnsiString, к которым неявно обращается оператор программы. После нескольких нажатий F7 произойдет возврат в программу.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]