Предыдущая Следующая

Puc. 25.19. Задание точек останова

25.4.5.1. Выполнение приложения до точки останова

1. Чтобы выполнять приложение только до тех пор, пока управление не достигает точки останова, следует выбирать в меню Debug>Go. Альтернативно, можно нажать кнопку Go на инструментальной панели. Приложение выполнится до точки останова, которая была задана ранее. При передаче управления на точку останова, выполнение программы будет приостановлено, а команда будет подсвечена, как изображено на Рис. 25.20.

2. Чтобы удалить точку останова, следует выбрать ее в меню Edit>Toggle Breakpoint.

25.4.6. Отладка в режиме дисассемблирования

Отладка с использованием C-SPY обычно производится быстрее в режиме исходного файла на языках С/СС++. Однако если имеется необходимость получить полное управление подпрограммами нижнего уровня, можно произво-

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

1. Произвести первый сброс приложения, «кликнув» на кнопке Reset на инструментальной панели.

2. Выбрать в меню View>Disassembly, чтобы открыть окно Disassembly, если оно еще на открыто. В открытом окне можно видеть, каким образом ассемблерный код соответствует текущим командам С, как показано на Рис. 25.21. Попробуйте использовать в окне Disassembly различные команды пошагового выполнения приложения.

25.4.7. Мониторинг регистров

Окно Register позволяет разработчику наблюдать и модифицировать содержимое регистров процессора. Мониторинг регистров осуществляется следующим образом:

1. Выбрать в меню View>Register, чтобы открыть окно Register, как показано на Рис. 25.22.

2. Выполнить команду Step Over, чтобы продолжить выполнение программы. При этом можно наблюдать, как меняются значения регистров процессора в окне Register.

3. Закрыть окно Register.

25.4.8. Мониторинг памяти

Окно Memory позволяет разработчику наблюдать содержимое выбранных областей памяти. Можно, например, просмотреть область памяти, соответствующую переменным root. Мониторинг памяти осуществляется следующим образом:

1. Выбрать View>Memory, чтобы открыть окно Memory, как показано на Рис. 25.23.

2. Сделать активным окно Utilities.c и выбрать root, а затем перетащить его из окна файла источника на С в окно Memory. При этом, в окне Memory будет отображено содержимое области памяти, соответствующей расположению переменной root.

3. Чтобы отобразить содержимое памяти в виде 16-битных слов данных, выберите команду Метогу16 в выпадающем меню на инструментальной панели окна Memory.

Если не все модули памяти были инициализированы функцией init_fib приложения, то следует продолжить выполнение программы с помощью команды Step Over и наблюдать, как содержимое памяти будет модифицироваться.


Предыдущая Следующая






Warning: include(./news.php) [function.include]: failed to open stream: No such file or directory in /var/www/picprof/data/www/picprof.com/book/book4_259.html on line 132

Warning: include(./news.php) [function.include]: failed to open stream: No such file or directory in /var/www/picprof/data/www/picprof.com/book/book4_259.html on line 132

Warning: include() [function.include]: Failed opening './news.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/picprof/data/www/picprof.com/book/book4_259.html on line 132