Вкладка Breakpoints

Данная вкладка предназначена для установки точек останова и контрольных точек по доступу к элементам данных. Содержимое вкладки Breakpoints показано на рис. 2.2.

Рис. 2.2 – Вкладка Breakpoints

Точки останова программы отображаются в таблице Instruction breakpoint. В левом столбце таблицы галочкой помечаются установленные точки останова. В столбце Address отображаются их адреса, а в столбце Instruction – команды ассемблера, представленные в мнемоническом виде. Причем для изображения имен команд и операндов используется цветовая раскраска, такая же, как во вкладке Disassembly. В столбце Condition приводятся условия, при выполнении которых произойдет останов программы. Например, останов программы в первой контрольной точке (инструкция addi r1, zero, 0x1), показанной на рис.2.2, произойдет только в том случае, если содержимое регистра r1 будет больше 5.

Используя рассмотренную выше таблицу, точки останова можно удалять и добавлять. Для добавления точки, необходимо навести курсор мыши на один из заголовков столбцов таблицы, нажать правую кнопку мыши и в появившемся меню выбрать пункт “Add”. Также контрольные точки можно установить в сегменте кода, выполнив левой кнопкой мыши щелчок в поле, слева от адреса. Установленная контрольная точка будет помечена во вкладке Disassembly кружком красного цвета. Повторный щелчок левой кнопкой мыши по кружку приведет к удалению контрольной точки. Фрагмент кода с установленными контрольными точками приведен на рис. 2.3

Рис. 2.3 – Фрагмент кода с установленными контрольными точками

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

· доступ по чтению к ячейке памяти – Read watchpoint;

· доступ по записи – Write watchpoint;

· доступ, как по чтению, так и по записи – Access watchpoint.

Следует заметить, что поддержку контрольных точек по доступу к данным можно включить лишь на этапе настройки процессора Nios II в SOPC Builder, путем выбора более серьезных уровней отладки.

Во вкладке Breakpoints также можно запустить программу до выполнения некоторого условия. Задание условий осуществляется в окне Run Until Expression (см. рис. 2.4), которое появляется после двойного щелчка левой кнопкой мыши под надписью Condition в нижней части вкладки. В этом окне пользователь вводит условия в соответствии с правилами, изложенными здесь же. Пусть например, выполнение программы нужно остановить, когда в регистре r2 окажется значения 0x2000040. Для этого необходимо задать условие r2 = = 0x2000040 и нажать кнопку “ OK”. Рассмотренный пример представлен на рис. 2.4. Чтобы вновь продолжить выполнение программы с учетом условий останова, необходимо нажать кнопку “Run”.

Рис. 2.4 – Условия останова


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: