Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Отладка приложения ⇐ ПредыдущаяСтр 8 из 8
Для удобства отладки приложения желательно записывать в одной строке редактора один оператор. Перед отладкой необходимо откомпилировать приложение с необходимой отладочной информацией. Далее можно: - установить точки останова и запустить приложение - или установить курсор в строке, до которой необходимо выполнить приложение и нажать клавишу F4 (Выполнить до курсора) (установить временную точку останова). В любом случае выполнение программы будет приостановлено в интересующем Вас месте. Теперь можно просмотреть значения переменных любым из ранее описанных способов (см. раздел 2.4.1). Если необходимо просмотреть небольшого количества переменных, то можно использовать всплывающие подсказки отладчика. Для контроля значений большого количества переменных лучше использовать окно Список наблюдений. Если необходимо просмотреть и изменить значение какой – либо переменной, то используется диалоговое окно Вычислить/Изменить. Это же окно можно использовать для просмотра значений сложных выражений. Продолжить выполнение приложения можно: 1. нажав клавишу F7, 2. нажав клавишу F8, 3. нажав клавишу F4, 4. нажав кнопку Выполнить на панели инструментов. В первых двух случаях выполнятся операторы, записанные в строке, в которой произошла приостановка выполнения программы. Причем в первом случае произойдет остановка на следующей строке, если предыдущей строке не было вызова процедуры или функции, в противном случае - на первой строке процедуры или функции Если Вы случайно вошли в подпрограмму или просто не желаете далее отслеживать ее работу в пошаговом режиме, то нажмите комбинацию клавиш Shift+F8 (Выполнять до возвращения) для выхода из нее. Во втором случае всегда произойдет остановка на следующей строке. Третий случай используется, если была установлена временная точка останова внутри цикла и необходимо снова временно остановиться там же при следующем прохождении цикла. В четвертом случае программа выполнится до конца, если далее не встретится точек останова, в против ном случае произойдет приостановка работы на следующей точке останова. С помощью точек останова очень трудно отслеживать работу: 1. обработчика события OnResize формы, 2. обработчика события OnPaint, 3. сообщения Windows о перемещении фокуса ввода. Если растягивать окно формы в первом случае, то это событие будет происходить много раз подряд, каждый раз останавливая программу. Во втором случае (точка останова установлена внутри обработчика события OnPaint) если окна редактора и формы перекрываются, то можно попасть в бесконечную череду точек останова. Каждый раз, когда форма перерисовывается, точка останова останавливает программу, перемещает окно редактора на передний план, вызывая тем самым новое событие перерисовки формы, что опять останавливает программу на той же точке останова - и так до бесконечности. В этом случае можно: - расположить окна формы и редактора так, чтобы они не пересекались. - воспользоваться условной точкой останова (см. раздел 2.3.1), - задать число проходов. В третьем случае переключение в отладчик на точку останова вынудит окно отлаживаемой программы потерять фокус. Это не обойти грамотным позиционированием окон без перекрытия. Единственным решением является использование журнала сообщений (см. раздел 2.4.1.7). Журнал сообщений полезно использовать и в первых двух случаях.
|