Лекция: Вопрос № 18. Особенности прогона программы с контрольными точками.

Прогон(запуск или продолжение выполнения) программы осуществляется командой Run. Для остановки выполнения программы служит команда Break.
Контрольные точки представляют собой специальные маркеры для программы-отладчика и могут быть трёх типов: точки останова, точки трассировки и точки наблюдения.

Вопрос № 19. Контрольные точки: типы, назначение, использование.

Точки останова задаются командой Toggle Breakpoint меню Debug или контекстного меню редактора исходного текста программы. Точка останова обозначается в редакторе исходного текста символом слева от помечаемой строки. Просмотреть заданные точки останова можно на закладке Breakpoints окна Output; там же точки останова могут быть запрещены (путём сброса флажка напротив точки останова) и разрешены (путём установки флажка). При достижении точки останова во время прогона программы её выполнение приостанавливается. Повторный вызов команды установки точки останова на той же строке программы приводит к удалению точки останова. Удалить все заданные точки останова позволяет команда Remove Breakpoints меню Debug или команда Remove all Breakpoints контекстного меню закладки Breakpoints окна Output. Параметры точки останова задаются в диалоговом окне Breakpoint Condition, вызов которого осуществляется командой Breakpoints Properties контекстного меню редактора исходного текста программы. Установка флажка Iterations позволяет задать количество итераций (повторных выполнений) команды до останова прогона программы. При установке флажка Watchpoint по достижению точки останова производится только обновление значений регистров и ячеек памяти в окнах просмотра. Флажки Iterations и Watchpoint не должны устанавливаться одновременно. Установка флажка Show message обеспечивает отображение сообщений о достижении точки останова на закладке Breakpoints окна Output. Вызов диалогового окна задания свойств и удаление точки останова могут быть произведены из контекстного меню закладки Breakpoints окна Output.

Точки трассировкипредназначены для контроля выполнения программы в режиме реального времени. Трассировка позволяет отслеживать так называемую трассу программы – изменение содержимого регистров и ячеек памяти при выполнении определённых команд (команд, по адресам которых заданы точки трассировки). В среде AVR Studio функция трассировки может использоваться только при отладке программы с применением внутрисхемного эмулятора; при работе в режиме симулятора функция трассировки недоступна.

Точки наблюдения задаются командой Add to Watch контекстного меню редактора исходного текста программы. Точки наблюдения представляют собой символические имена регистров или ячеек памяти, содержимое которых необходимо отслеживать. При выполнении команды Add Watch на экране появляется окноWatches, разделённое на четыре столбца: Name (символическое имя точки наблюдения), Value (значение), Type (тип), Location (местонахождение). Новая точка наблюдения может быть также задана в выделенной ячейке столбца Name окна Watches или командой Quickwatch в окне редактора исходного текста программы (при этом курсор должен находиться на имени регистра или ячейки памяти). Значения, отображаемые в столбце Value, обновляются при изменении содержимого соответствующего регистра или ячейки памяти. Удалить заданные точки наблюдения можно из окна Watches.
Отладчик среды ^ AVR Studio также обеспечивает следующие функции: выполнение до курсора (команда Run to Cursor меню Debug) и последовательное выполнение команд с паузами между ними (команда Auto Step меню Debug). Для удобства использования в процессе отладки ряд команд отладчика доступен с клавиатуры (табл. 2).

Таблица 2

Команда отладчика Клавиша Команда отладчика Клавиша
Run F5 Step Into F11
Break Ctrl+F5 Step Out Shift+F11
Reset Shift+F5 Step Over F10
Run to Cursor Ctrl+F10 Toggle Breakpoint F9


Для просмотра и изменения содержимого регистров и ячеек памяти служат команды Registers, Memory, Memory 1, Memory 2, Memory 3 меню View.
По команде Registers на экране отображается окно Registers, в котором приводятся шестнадцатеричные представления содержимого РОН. Изменение (модификация) содержимого регистров производится путём двойного щелчка мышью. Наблюдение за содержимым РОН может быть также произведено с помощью дерева устройств микроконтроллера, находящегося на закладке I/O окна Workspace. Для этого необходимо раскрыть объекты Register 0-15 и
Register 16-31 щелчком мыши по знаку «+». Команды Memory, Memory 1, Memory 2, Memory 3 обеспечивают вызов оконMemory, служащих для отображения содержимого ячеек оперативной и энергонезависимой памяти данных, памяти программ, регистров ввода-вывода и РОН. Выбор типа памяти, отображаемой в окне Memory, производится с помощью списка, расположенного в панели управления окна (Data – оперативная память данных, Eeprom – энергонезависимая память данных, I/O – регистры ввода-вывода, Program – память программ, Register – РОН). Для наблюдения за состоянием процессора необходимо раскрыть объект Processor закладки I/O окна Workspace. При этом будет отображена следующая информация: содержимое программного счётчика (Program Counter); содержимое указателя стека (Stack Pointer), количество тактов, прошедших с начала выполнения (Cycle Counter); содержимое 16-разрядных регистров-указателей X, Y и Z; тактовая частота (Frequency); затраченное на выполнение время (Stop Watch). Для контроля содержимого регистров ввода-вывода необходимо раскрыть объект ^ I/O * закладки I/O окна Workspace, где * – тип микроконтроллера. Регистры ввода-вывода, входящие в объект I/O, сгруппированы по типам периферийных устройств. Модифицированные значения содержимого регистров и ячеек памяти действуют только во время текущего сеанса отладки, в исходный текст программы изменения не заносятся.

 

еще рефераты
Еще работы по информатике