Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

План заняття. 1. Огляд процедури відладки прикладних застосувань




1. Огляд процедури відладки прикладних застосувань

2. Характеристика процедури виконання відладки

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

Задавать точки останова можно различными способами. Пер­вый способ состоит в том, чтобы в окне редактора кода щелкнуть мышью на полоске левее кода требуемой строки, В результате строка окрасится в красный цвет, а левее нее появится красная точка (см. рис. 2.9). Другим способом является установка курсора в нужную строку и нажатие клавиши F5. Повторное нажатие кла­виши F5 на этой строке снимает точку останова. Снятие останова происходит и при щелчке мышью по красному кругу. Точки оста­нова, заданные такими способами, называются безусловными.

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

Кроме безусловных точек останова можно использовать так на­зываемые условные точки. Для того чтобы задать условную точку останова, нужно установить курсор на необходимую строку и вы­полнить команду Run \ Add Breakpoint \ Source Breakpoint. В резуль­тате появится окно Add Source Breakpoint (см. рис. 2.10), в котором нужно указать положение добавляемой точки и условие останова.

Filename - имя файла, в котором установлена точка останова;

Line number - номер строки от начала;

Condition - условие останова в виде логического выраже­ния (необязательно);

Pass count - количество проходов программы через контрольную точку без прерывания вычислений;

Group - имя группы, к которой относится данное прерывание.

В примере, представленном на рис. 2.10, останов произойдет в 32 строке, когда переменная count будет равна 10.

Список всех введенных описанным способом точек останова можно просмотреть в окне Breakpoint List, которое вызывается ко­мандой View | Debug Windows \ Breakpoints. Для добавления новой точки следует щелкнуть правой кнопкой мыши по окну и в контекст­ном меню выбрать пункт Add \ Source Breakpoint - на экране отобра­зится уже знакомое окно Add Source Breakpoint (см. рис. 2.10).

Редактирование установленных точек останова может произ­водиться с помощью окна Source Breakpoints Properties, которое в точности повторяет окно точек останова. Отличия заключаются в названии окна и в том, что невозможно уже по­ставленную точку останова перенести в другой модуль и даже на другую строку. Другими словами, недоступны для редактирова­ния пункты Filename и Line number.

Чтобы продолжить работу приложения, после того как его вы­полнение было прервано в точке останова, необходимо нажать кнопку F9 либо выполнить команду Run \ Run. При этом про­грамма продолжит свое выполнение либо до конца, либо до сле­дующей точки останова. В дополнение к этому часто использует­ся так называемое пошаговое выполнение программы как после точки останова, так и с начала работы приложения. Пошаговое выполнение называется трассировкой. На каждом шаге трасси­ровки выполняется только одна строка программы. Для этого ис­пользуются некоторые команды меню Run:

Step Over - выполнение программного кода без захода в

подпрограммы («горячая» клавиша - F8);

Trace Into - трассировка с заходом в подпрограммы (F7);

Trace to Next Source Line - переход к следующей строке (Shift+F7);

Run to Cursor - переход к строке, на которой установлен

курсор (F4).

Точки останова и трассировка являются мощными средствами отладки. Используя их в комплексе с окном наблюдения Watch List (см. рис. 2.11), можно отслеживать значения переменных в процессе выполнения программы. Механизм работы прост: опре­деляется, где ошибка, затем в этом месте ставится точка останова, и все необходимые переменные заносятся в Watch List. После это­го посредством трассировки определяется, какие значения прини­мают наблюдаемые переменные в ходе последующего выполне­ния программы. Полученные данные анализируются, и, если не­обходимо, в код программы вносятся коррективы. Окно Watch List вызывается командой View \ Debug Windows j Watches.

 

На рис. 2.11 показано окно наблюдений. В нем находятся пара­метры Count (переменная) и Forml.Butl.Caption (свойство кнопки с именем Butl). Поместить параметры в это окно можно с помощью команды Run | Add Watch (Ctrl+F5), либо используя команду Add Watch локального меню окна Watch List (Ctrl+A).

Контекстное меню окна Watch List предоставляет возможность редактировать наблюдаемое выражение (команда Edit Watch). В результате откроется окно Watch Properties (см. рис. 2.12).

 

В поле Expression указывается имя любой переменной или вы­ражение, содержащее переменные, функции, константы. Поле Repeat count используется при наблюдении массивов и позволяет задавать число просматриваемых элементов массива. Поле Digits указывает число значащих разрядов чисел с плавающей точкой. Переключатель Enabled управляет (разрешает или запрещает) отображением значения параметра в окне Watch List. Другой пе­реключатель Allow Function Calls запрещает или разрешает ото бражать в окне Watch List значения функций. Формат вывода зна­чений задается путем выбора одного из переключателей, распо­ложенных в нижней части окна:

Character - представляет величину в символьном виде (используется для символов и строк);

String - дает возможность просмотреть величины в виде строк, используется для символов, строк и дампов памяти Memory Dump (см. ниже);

Decimal - выводит величины в десятичной форме (для це­лых чисел);

Hexadecimal - представляет величины в шестнадцатерич-ной форме (для целых чисел);

Floating point - отображает от 2 до 18 значащих цифр (чис­ло цифр, задаваемое в поле Digits), по умолчанию 7.

Pointer - предоставляет возможность выводить значение указателя (для указателей);

Record/Structure - добавляет к значениям поля записи и их имена (для указателей, классов, величин типа записи);

Memory Dump - параметр рассматривается как последова­тельность байт.

По умолчанию выбран переключатель Default. В этом случае формат определяется автоматически.

При выборе команды меню Run \ Evaluate/Modify вызывается окно вычисления и модификации параметра Evaluate/Modify. В этом окне обеспечивается возможность не только просматривать, но и изменять значения переменных в процессе отладки приложения.

Вышеуказанное окно содержит такие поля:

Expression - имя переменной или вычисляемое выражение;

Result - результат вычисления;

New value - новое значение переменной, которое ей при-своится после нажатия кнопки Modify.

Кроме того, в окне вычисления и модификации представлены следующие кнопки:

Evaluate — вычисляет значение переменной или выражения, указанного в поле Expression;

Modify - присваивает вычисляемой переменной новое значение;

Watch - открывает окно Walch List;

Inspect - вызывает окно Inspect;

Help - предоставляет возможность использовать подсказку по данной теме.

Работа с окном Evaluate/Modify происходит следующим обра­зом. В коде программы перед интересующим выражением ставит­ся точка останова. Затем приложение запускается. При достиже­нии точки останова выполняется команда Run \ Evaluate/Modify. В поле Expression окна Evaluate/Modify вводится имя переменной или выражение, которое нужно вычислить. После чего нажимает­ся кнопка Evaluate, и значение переменной появляется в поле Result. Чтобы задать новое значение переменной необходимо за­писать его в поле New value, после чего нажать кнопку Modify. Изменение значений может быть полезно при выполнении боль­ших приложений, когда можно корректировать неправильно вы­числяемое значение переменной, для дальнейшего выполнения программы без се перезапуска.

Для прекращения процесса отладки достаточно вызвать ко­манду меню Run | Program Reset (Ctrl+F2).

Контрольні питання

1. Навести огляд процедури відладки прикладних застосувань

2. Надати характеристику процедури виконання відладки


АУДИТОРНЕ ЗАНЯТТЯ

ЗМІСТОВИЙ МОДУЛЬ 1: ОСНОВНІ ПОНЯТТЯ ТА ОЗНАЧЕННЯ. ЕЛЕМЕНТИ МОВИ. КЕРУВАННЯ ПРОЦЕСОМ ОБЧИСЛЕНЬ

ТЕМА 1.5: ОСНОВИ СТВОРЕННЯ ПРИКЛАДНИХ ЗАСТОСУВАНЬ




Поделиться с друзьями:


Дата добавления: 2014-12-25; Просмотров: 345; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.