1.5.3 Прилагане на точки на прекъсване
Методът за отстраняване на грешки стъпка по стъпка е полезен за отстраняване на грешки в малки, прости програми или части от голяма програма. Но си представете, че вашата програма съдържа цикъл, който трябва да бъде изпълнен голям брой пъти. За да проверите правилното изпълнение на целия този цикъл в режим стъпка по стъпка, ще трябва да щракнете с мишката много дълго време. В такива случаи се използватТочки на прекъсване.
Дефиниция.Точка на прекъсване –е специален етикет, койтов режим на отстраняване на грешки, програмистът може да постави срещу всеки ред от програмата.
След това програмата се изпълнява под контрола на дебъгера. Но това не е истинска работа. Това е просто имитация на микроконтролера. Програмата се изпълнява ред по ред, докато на следващия ред се срещне точка на прекъсване. При намиране на такава точка дебъгерът спира изпълнението на програмата.
За управление на точките на прекъсване програмата има няколко вградени директиви, които са показани в таблица 1.2.
Таблица 1.2 - Директиви за управление на точки на прекъсване
Задайте точка на прекъсване
Задайте (изчистете) точка на прекъсване на реда, където е курсорът
Премахнете всички точки на прекъсване
Премахнете всички точки на прекъсване
Премахнете всички предварително зададени точки на прекъсване
Създайте софтуерна точка на прекъсване
Нови точки на прекъсване/ точка на прекъсване на програмата
Създайте точка на прекъсване, като зададете условие на програмата
Създайте точка на прекъсване на данни
Нови точки на прекъсване/Точки на прекъсване на данни
Създайте точка на прекъсване, като зададете условие за данните
За дапоставите точка на прекъсваневъв всеки ред на програмата, първо трябва да поставите текстов курсор върху този ред. След това изберете директивата „Задаване на точка на прекъсване“ (вижте фиг.маса 1.2).Точката на прекъсване изглежда като кафяв кръг до избрания програмен ред в лявата граница на текстовото поле.
Ако поставите курсора върху ред, където вече има точка на прекъсване, и изпълните отново директивата „Задаване на точка на прекъсване“, точката се премахва. Можете да премахнете всички зададени точки на прекъсване наведнъж, като използвате директивата „Премахване на всички точки на прекъсване“.
Вторият начин за задаване на точки на прекъсванее да ги зададете чрез менюто. Елементът "Нови точки на прекъсване" от менюто "Отстраняване на грешки", предназначен за тази цел, има два подпозиции. С помощта на подпозицията „Точка на прекъсване на програмата“ можете да зададете точки на прекъсване на програмата. Тоест, точно както сме задали по предишния начин.
За да направите това, трябва да попълните полето "Прекъсване на изпълнението след: - удари". Ако числото в това поле не е равно на нула, тогава програмата ще спре в тази точка на прекъсване не първия път, а само когато е преминала през нея определения брой пъти.
Ако зададете вашата точка на прекъсване не чрез менюто, а директно в текста на програмата, все още можете да извикате диалоговия прозорец, описан по-горе, и да промените броя на преминаванията в него, като щракнете; мишката върху реда с описанието на желаната точка на прекъсване в раздела „Точки на прекъсване и проследяване“.
С помощта на подточката „Точка на прекъсване на данни“ на елемента „Нови точки на прекъсване“ от менюто „Отстраняване на грешки“ можете да зададете точки на прекъсване на данните. Когато изберете този елемент от менюто, се отваря диалогов прозорец, в който можете да изберете някоя от променливите на вашата програма или произволен ресурс на микроконтролера (от списъка, който се отваря) и да зададете точка на прекъсване при достъп до тази променлива (ресурс).
Програмата ви позволява да изберете цялдиапазон от условия, при които програмата ще спре. По подразбиране се извършва спиране при всякодостъп до тази променлива както в режим на четене, така и в режим на запис. Можете да изберете друго условие.Например, когато една променлива е равна на определена стойност. Условието се избира чрез полето "Прекъсване при:" и полето "Тип достъп:". Името на променливата се избира с помощта на полето "Местоположение".
Диалогът за задаване на точки на прекъсване и от двата типа може да бъде извикан не само чрез менюто. В горната лява част на раздела "Точки на прекъсване и проследяване" има специален бутон за това.
След като сте задали всички точки на прекъсване, можете да стартирате програмата вавтоматичен режим на изпълнение.За да контролирате дебъгера в този режим, програмата AVR Studio също има няколко специални директиви (вижтеТаблица 1.3). Автоматичното изпълнение на програмата се стартира с помощта на директивата "Старт".
Докато програмата е в режим на автоматично изпълнение, новото състояние на регистрите не се показва. Текущият показалец на командата също липсва. В долния ред на основния панел на програмата, от дясната му страна, има индикатор за състоянието. В режим стоп това е жълт кръг с минус в средата. Вляво от него е надписът „Спрян“. В режим на автоматично изпълнение на програмата жълтият кръг става зелен с плюс вътре. Думата "Работи" се появява вместо думата "Спрян".
Таблица 1.3–Директиви за управление на процеси за отстраняване на грешки