Интегрированная среда разработки. Руководство программиста

advertisement
УДОСТОВЕРЕН
ЮФКВ.30074-01-УД
ПАКЕТ СРЕДСТВ РАЗРАБОТКИ С/С++ ПРОГРАММ ДЛЯ ПРОЦЕССОРОВ
NEUROMATRIX ДЛЯ ОПЕРАЦИОННЫХ ПЛАТФОРМ LINUX И WIN32
Интегрированная среда разработки для платформы Win32
Руководство программиста
ЮФКВ.30074-01 33 11
(ЮФКВ.30074-01 33 11-001ФЛ)
Листов 38
Литера
Инв.N подл.
Подп. и дата
Взам.инв.N
2
ЮФКВ.30074-01 33 11
Содержание
1. Запуск среды и настройка для работы с проектами C/C++ и Assembler. .......................................3
1.1. Установка среды ...........................................................................................................................3
1.2. Запуск среды ..................................................................................................................................6
2. Пользовательский интерфейс системы. ...........................................................................................10
2.1. Состав пользовательского интерфейса. ....................................................................................10
2.2. Главное окно................................................................................................................................10
2.3. Меню. ...........................................................................................................................................11
2.3.1. Главное меню. ......................................................................................................................11
2.3.2. Меню File. .............................................................................................................................11
2.3.3. Меню Edit. ............................................................................................................................13
2.3.4. Меню Navigate. .....................................................................................................................14
2.3.5. Меню Search. ........................................................................................................................14
2.3.6. Меню Project. ........................................................................................................................15
2.3.7. Меню Run. ............................................................................................................................15
2.3.8. Меню Window. .....................................................................................................................16
2.3.9. Меню Help. ...........................................................................................................................16
2.3.10. Инструментальная панель. ................................................................................................17
2.4. Окна ..............................................................................................................................................17
2.4.1. Окно C/C++ Projects .............................................................................................................18
2.4.2. Окно Navigator......................................................................................................................18
2.4.3. Окно Outline..........................................................................................................................18
2.4.4. Окно Problems ......................................................................................................................18
2.4.5. Окно Console ........................................................................................................................19
2.4.6. Окно Properties .....................................................................................................................19
2.4.7. Окно Debug ...........................................................................................................................19
2.4.8. Окно Disassembly .................................................................................................................20
2.4.9. Окно Variables ......................................................................................................................20
2.4.10. Окно Breakpoints ................................................................................................................20
2.4.11. Окно All Registers...............................................................................................................20
2.4.12. Окно Registers .....................................................................................................................21
2.4.13. Окно Memory ......................................................................................................................21
3. Создание проектов C/C++ и Assembler. ...........................................................................................22
3.1. Создание проекта ........................................................................................................................22
3.2. Трансляция проекта (получение объектных файлов)..............................................................25
4. Запуск и отладка проектов C/C++ и Assembler. ..............................................................................28
4.1. Запуск проектов ..........................................................................................................................28
4.2. Отладка проектов ........................................................................................................................29
4.3. Просмотр и модификация ресурсов программы ......................................................................30
4.4. Контрольные точки и процесс отладки ....................................................................................34
4.4.1. Установка контрольных точек (точек останова) ..............................................................34
4.4.2. Управление выполнением программы. Навигация по исходным текстам и вывод
символьной информации ..............................................................................................................36
Приложение A. "Горячие" клавиши. ....................................................................................................37
3
ЮФКВ.30074-01 33 11
1. Запуск среды и настройка для работы с проектами C/C++ и Assembler
1.1. Установка среды
Для установки пакета инструментальных средств на ваш компьютер необходимо
запустить файл NMSDKsetup.exe из корневого каталога дистрибутива. На экране появится окно
установки.
Окно установки
После нажатия кнопки Next появится диалоговое окно, в котором предлагается выбрать каталог,
в который будет установлен пакет инструментальных средств (по умолчанию он
устанавливается в каталог C:\NeuroMatrix ).
4
ЮФКВ.30074-01 33 11
Окно установки
После нажатия кнопки Next появится окно дополнительных установок, в котором
предлагается выбрать, нужно ли помещать иконку программы на рабочий стол. Для
продолжения установки требуется нажать кнопку Next. Чтобы вернуться к предыдущему окну
нужно нажать кнопку Back.
Окно дополнительных установок
5
ЮФКВ.30074-01 33 11
После нажатия кнопки Next появится окно подтверждения установки. Для того, чтобы
установка началась, требуется нажать кнопку Install. Чтобы вернуться к предыдущему окну
нужно нажать кнопку Back.
Окно подтверждения установки
Когда установка будет завершена, появится окно завершения установки.
6
ЮФКВ.30074-01 33 11
Окно завершения установки
В процессе установки все настройки производятся автоматически. Для изменения
настроек вручную см. главу "Запуск среды".
После успешной установки в меню Пуск -> Программы появится пункт NeuroMatrix SDK, в
котором содержатся ярлыки для просмотра документации, запуска программы и запуска
деинсталляции программы.
Замечание
Перед установкой новой версии среды необходимо удалить старую версию.
1.2. Запуск среды
Для запуска среды надо нажать на иконку на рабочем столе или в меню «Пуск»->
«Программы». При старте среды появится окно выбора рабочего пространства, т.е. папки, в
которой по умолчанию будут находиться проекты.
Окно выбора рабочего пространства.
Некоторые опции среды могут быть настроены с помощью пункта меню Window>Preferences->C/C++->Debug
7
ЮФКВ.30074-01 33 11
Среда сконфигурирована таким образом, что после запуска она примет один из двух
видов (откроется одна из двух перспектив).
Первая из них, так называемая C++ - перспектива, предназначена для создания и работы
с проектами языков C/C++ и Assembler. Для этого в перспективе есть следующие инструменты
(рис. "Перспектива C++" ):
8
ЮФКВ.30074-01 33 11
Перспектива C++.
C/C++ Projects
окошко для отображения структуры проектов
Problems
окошко для отображения диагностики компилятора, ассемблера и линкера при
трансляции проекта
Outline
окошко для отображения в виде дерева структуры файла: переменных, функций и
пр. (работает для C/C++ проектов). Также имеется удобный полнофункциональный
текстовый редактор, который автоматически запускается при создании файла.
Вторая перспектива, Debug-перспектива, предназначена для управления процессом
отладки. Для этого перспектива снабжена следующими элементами (рис. "Перспектива Debug"):
Debug
окошко, в котором происходит непосредственное управление отладочным
процессом.
Tasks
окошко, отображающее отложенные пользователем задания.
Ещё имеются элементы общего назначения, делающие работу более комфортной:
9
ЮФКВ.30074-01 33 11
Navigator
окошко, отображающее (в отличие от C/C++ Projects) всё содержимое каталога проекта.
Перспектива Debug.
Для переключения между перспективами можно воспользоваться специальной панелью,
расположенной в правой верхней части окна среды. Переключить перспективу с одной на
другую можно также через главное меню Window->Open Perspective, и в появившемся списке
выбрать одну из двух нужных перспектив.
10
ЮФКВ.30074-01 33 11
2. Пользовательский интерфейс системы
2.1. Состав пользовательского интерфейса
Пользовательский интерфейс системы включает:




главное окно системы;
дочерние окна;
плавающие окна;
диалоги.
Пользователь взаимодействует с системой посредством меню и инструментальных
кнопок главного окна, всплывающих меню, дочерних и плавающих окон и кнопок диалогов.
Результаты отображаются на рабочем поле дочерних и плавающих окон, на панелях
диалогов и в строке состояния главного окна и дочерних окон.
2.2. Главное окно
При запуске среды открывается главное окно.
Главное окно.
11
ЮФКВ.30074-01 33 11
В верхней части окна интегрированной среды расположена полоса главного меню
системы.
Ниже главного меню системы расположена полоса инструментальных панелей. На
каждой панели расположена группа кнопок, соответствующих командам меню.
В основном поле окна при выполнении соответствующих операций появляются окна,
соответствующие открытой перспективе.
В нижней части главного окна располагается строка состояния. В строке состояния
подсвечивается выполняемое действие при выборе пунктов меню. Также здесь расположен
счетчик тактов.
2.3. Меню
Данная графическая среда создана на базе свободно распространяемой среды Eclipse и
обладает избыточной функциональностью. Действительно доступны и работают корректно
только описанные ниже функции.
2.3.1. Главное меню.
Главное меню системы расположено в верхней части главного окна среды.







Раздел меню File позволяет создать новый проект или файл, открыть ранее созданный
проект или файл, сохранить проект или файл;
Раздел меню Edit появляется после открытия файла и позволяет выполнять обычные
редакторские действия;
Раздел меню Navigate позволяет осуществлять перемещение по проекту;
Раздел меню Search позволяет производить поиск;
Раздел меню Run позволяет запускать проект на выполнение в том числе и в отладочном
режиме;
Раздел меню Window предоставляет возможность управлять размещением окон
редактора в главном окне;
Раздел меню Help содержит строку вызова справочной информации.
2.3.2. Меню File.
Меню File позволяет создать новый проект или файл, открыть ранее созданный проект
или файл, сохранить проект или файл.
12
ЮФКВ.30074-01 33 11
В меню входят следующие пункты:

New - создать новый
Project - проект;
Folder - каталог;
File - файл;
Other - выбрать в диалоговом окне тип создаваемого элемента.
Close - закрыть файл, связанный с активным окном редактора;
Close All - закрыть все открытые файлы;
 Save - сохранить файл, связанный с активным окном редактора;
 Save As... - сохранить файл, связанный с активным окном редактора под новым
именем;
 Save All - сохранить все открытые файлы;
Revert - отменить все действия после последнего сохранения;
Move - переместить файл;
Rename - переименовать файл;
Refresh - обновить проект;
 Print - напечатать текст из текущего окна редактора;
Switch Workspace... - сменить рабочую директорию;
Open External File... - открыть внешний файл;
 Import... - импортировать файлы в проект;
 Export... - экспортировать файлы из проекта;
Properties - посмотреть (изменить) свойства проекта или файла;
Exit - выйти из графической среды.
o
o
o
o










13
ЮФКВ.30074-01 33 11
2.3.3. Меню Edit.
Меню Edit появляется после открытия файла и позволяет выполнять стандартные
процедуры редактирования.
Все действия относятся к активному окну редактора.
Undo - отменить предыдущее действие;
Redo - отменить предыдущую команду Undo;
Cut - копировать в буфер обмена выделенный фрагмент текста. Выделенный
фрагмент удаляется из текста;
 Copy - копировать в буфер обмена выделенный фрагмент текста. Выделенный
фрагмент из текста не удаляется;
 Paste - копировать содержимое буфера обмена в текст;
 Delete - удалить выделенный текст;
Select All - Выделить весь текст;
Find/Replace... - открыть диалоговое окно поиска и замены текста;
Find Next - найти в тексте следующее вхождение выделенного фрагмента;
Find Previous - найти в тексте предыдущее вхождение выделенного фрагмента;
Add Bookmark... - добавить закладку;
Add Task... - добавить задание;









14
ЮФКВ.30074-01 33 11
2.3.4. Меню Navigate.

 Go to Last Edit Location - перейти к последнему редактированному файлу;
Go to Line... - перейти на указанную строку (доступно, если активно окно редактора);
 Back - вернуться на шаг назад;
 Forward - вернуться на шаг вперед.
2.3.5. Меню Search.



Search... - открыть диалог поиска;
File.... - открыть диалог поиска на закладке "Искать файл";
C/C++... - открыть диалог поиска на закладке "Искать в коде C/C++".
15
ЮФКВ.30074-01 33 11
2.3.6. Меню Project.






Open Project - открыть ранее закрытый проект;
Close Project - закрыть проект (при этом проект сворачивается в иконку проекта в окне
C/C++ Projects);
Build All - транслировать все открытые проекты;
Build Project - транслировать проект;
Build Automatically - транслировать проект автоматически при сохранении;
Properties - смотреть свойства текущего проекта;
2.3.7. Меню Run.
В зависимости от открытой перспективы меню Run имеет различный вид. Если открыта
перспектива Resource, меню Run отсутствует. Если открыта перспектива разработки C/C++, то
меню Run содержит следующие пункты:
Run Last Launched - запустить последний запущенный проект;
Debug Last Launched - отладить последний отлаживаемый проект;
Run History - показать список проектов, которые были запущены;
Run As - запустить проект как проект С (быстрый запуск на исполнение);
Run... - настроить конфигурацию запуска;
Debug History - показать список проектов, которые были в отладке
Debug As - отладить проект как проект С (быстрый запуск на отладку);
Debug... - настроить конфигурацию запуска.








16
ЮФКВ.30074-01 33 11
Если открыта перспектива Debug, то к выше описанным функциям добавятся:












Toggle Line Breakpoint - установить аппаратную точку останова;
Skip All Breakpoints - пропустить все точки останова;
Add Watchpoint (C/C++)... - установить аппаратную точку останова;
Restart - перезапустить программу;
Resume At Line (C/C++)] - запустить с указанной строки;
Resume - запустить программу;
Suspend - остановить выполнение программы;
Terminate - завершить исполнение программы;
Step Into - сделать шаг внутрь;
Step Over - сделать шаг через;
Step Return - сделать шаг из функции.
Run To Line (C/C++) - запустить до указанной строки;
2.3.8. Меню Window.









New Window - открыть новое окно графической среды;
Open Perspective - перейти к другой перспективе;
Show View - показать выбранное дочернее окно, соответствующее открытой
перспективе;
Customize Perspective... - настроить перспективу;
Save perspective As... - сохранить перспективу под новым именем;
Reset Perspective - сбросить изменения перспективы;
Close Perspective - закрыть перспективу;
Close All Perspectives - закрыть все перспективы;
Preferences - настроить графическую среду.
2.3.9. Меню Help.
17
ЮФКВ.30074-01 33 11
Меню Help позволяет получить доступ к документации по графической интегрированной среде
и информации о продукте.
2.3.10. Инструментальная панель.
Под полосой главного меню расположена инструментальная панель, содержащая кнопки,
дублирующие наиболее часто используемые команды меню.
- команды меню File: New, Save, Save As... и Print.
- команды меню File /New: Class, Folder, File.
- команды меню Run: Debug и Run.
- команда меню Search Search...
- команды меню Navigate: Go To Last Edit Position, Back, Forward.
2.4. Окна
В зависимости от того, какая из перспектив среды активна, клиентская область главного
окна среды может содержать различные окна. Перспектива разработки C/C++ содержит
следующие окна:






C/C++ Projects;
Navigator;
Outline;
Problems;
Console;
Properties.
Перспектива отладки Debug содержит окна:







Debug;
Disassembly;
Outline;
Console;
Variables;
Breakpoints;
All Registers.
В процессе отладки в перспективе Debug открываются окна:
18
ЮФКВ.30074-01 33 11


Registers;
Memory;
Помимо этого, каждая перспектива содержит в себе окно редактора исходных текстов.
Состав окон, содержащихся в перспективе, может быть настроен пользователем. Также
пользователь может создать свою перспективу с необходимым ему набором окон.
2.4.1. Окно C/C++ Projects
В данном окне отображается полная структура проектов в виде дерева. При двойном
клике указателем мыши по какому-либо ресурсу будет открыто окно текстового редактора,
содержащее данный ресурс.
Панель управления данного окна содержит в себе кнопки:



Collapse All – свернуть дерево проекта;
Link With Editor – установить связь с окном редактора;
Menu – выпадающее меню, в котором можно настроить фильтры отображения дерева
проектов.
2.4.2. Окно Navigator
В данном окне в виде дерева отображается структура файлов проектов, т.е. структура
файлов, содержащихся непосредственно в рабочем каталоге проекта.
Панель управления данного окна содержит в себе кнопки:



Collapse All – свернуть дерево проекта;
Link With Editor – установить связь с окном редактора;
Menu – выпадающее меню, в котором можно настроить фильтры отображения дерева
проектов.
2.4.3. Окно Outline
Окно Outline предназначено для отображения в виде дерева структуры файла
(переменных, функций и пр.).
Панель управления данного окна содержит в себе кнопки:




Sort – сортировать в алфавитном порядке;
Hide Fields – спрятать поля;
Hide Static Members – спрятать статические члены;
Hide Non-Public Members - скрыть необщедоступные члены класса.
2.4.4. Окно Problems
19
ЮФКВ.30074-01 33 11
Окно Problems предназначено для вывода списка диагностических сообщений (ошибок и
предупреждений). Сообщения выдаются в табличном виде. Пользователю предоставляется
текст самого сообщения, файл, вызвавший данное сообщение, каталог, содержащий данный
файл, и номер строки в файле.
При двойном клике указателем мыши по сообщению в списке в редакторе исходных
текстов будет открыт соответствующий файл.
Панель управления данного окна содержит в себе кнопки:


Filter – настроить фильтр отображения сообщений;
Menu – выпадающее меню, позволяющее настроить фильтр отображения и параметры
сортировки сообщений.
2.4.5. Окно Console
В окне Console может быть отображена диагностическая информация, выводимая на
консоль при трансляции проекта, или отладочная информация.
Панель управления данного окна может содержать в себе следующие кнопки:






Terminate – завершить исполнение проекта;
Remove All Terminated Launches – удалить все завершенные проекты из списка
отладки;
Scroll Lock – запретить вертикальное перемещение (скроллирование) в окне;
Clear Console – очистить консоль;
Pin Console – не менять отображаемую в окне информацию при нажатии кнопки Display
Selected Console;
Display Selected Console – сменить отображаемую в окне информацию
(диагностическая/отладочная).
2.4.6. Окно Properties
В окне Properties отображаются свойства проекта или файла, выбранного в окне C/C++
Projects.
Панель управления данного окна содержит в себе кнопки:

Show Categories – показать категории.
2.4.7. Окно Debug
Окно Debug предназначено для непосредственного управления процессом отладки. В
окне отображаются запущенные на отладку процессы.
Панель управления данного окна содержит в себе кнопки:



Resume – возобновить исполнение;
Suspend – приостановить исполнение;
Terminate – завершить исполнение;
20
ЮФКВ.30074-01 33 11






Remove All Terminated Launches – удалить все завершенные проекты из списка
отладки;
Restart – запустить исполнения заново;
Step Into – сделать шаг внутрь функции;
Step Over – сделать шаг через функцию;
Step Return – сделать шаг из функции;
Instructions Stepping Mode – шагать по ассемблерным инструкциям;
2.4.8. Окно Disassembly
В окне Disassembly выводится проект в виде ассемблерных инструкций.
Код из окна Disassembly может быть скопирован в буфер обмена посредством выделения
курсором мыши и нажатием сочетания клавиш Ctrl+C или Ctrl+Insert.
2.4.9. Окно Variables
Окно Variables служит для отображения переменных и констант.
Панель управления данного окна содержит в себе кнопки:







Show Type Names – показать типы переменных;
Show Logical Structure – показать логическую структуру;
Collapse All – свернуть все;
Add Global Variables – добавить глобальную переменную;
Remove Selected Global Variables – удалить выбранные глобальные переменные;
Remove All Global Variables – удалить все глобальные переменные;
Menu – выпадающее меню, которое позволяет настроить вид окна и показать константы
и статические переменные.
2.4.10. Окно Breakpoints
Данное окно предназначено для управления точками останова.
Панель управления окна Breakpoints содержит в себе кнопки:





Remove Selected Breakpoints – удалить выбранные точки останова;
Remove All Breakpoints – удалить все точки останова;
Go to File for Breakpoint – перейти к файлу, содержащему точку останова;
Link with Debug View – связать с окном Debug;
Skip All Breakpoints – игнорировать все точки останова.
2.4.11. Окно All Registers
Окно All Registers предназначено для отображения значений регистров
микроконтроллера во время исполнения программы. Регистры в окне собраны в группы: System
registers (системные регистры), Stack registers (стек) и Other registers (прочие регистры).
В панели управления данного окна содержатся кнопки:
21
ЮФКВ.30074-01 33 11


Automatically Refresh View’s Content – автоматически обновлять содержимое окна;
Refresh View’s Content – обновить содержимое окна.
2.4.12. Окно Registers
В окне Registers отображаются значения регистров отображения памяти.
Панель управления окна содержит следующие кнопки:





Show Type Names – показать типы переменных;
Show Logical Structure – показать логическую структуру;
Collapse All – свернуть все;
Automatically Refresh View’s Content – автоматически обновлять содержимое окна;
Refresh View’s Content – обновить содержимое окна.
2.4.13. Окно Memory
В окне Memory отображается содержимое памяти, начиная с заданного адреса.
Панель управления окна содержит следующие кнопки:




Automatically Refresh View’s Content – автоматически обновлять содержимое окна;
Refresh View’s Content – обновить содержимое окна;
Clear – очистить;
Show the ASCII presentation – показывать ASCII представления.
22
ЮФКВ.30074-01 33 11
3. Создание проектов C/C++ и Assembler
3.1. Создание проекта
Для создания проекта (будь то C/C++ или Assembler) необходимо:
Создание проекта
1. Выбрать C/C++-перспективу (см. "C++ перспектива").
2. В окошке C/C++ Projects правой кнопкой мыши в pop-up меню выбрать пункт
New->Project или New->Other.
3. В появившемся окне (см. рис. "Создание проекта") необходимо выбрать C>Managed Make C Project (Make-файл создается автоматически) или C>Standard Make C Project (Make-файл создается разработчиком).
4. Нажать на кнопку Next.
5. Далее, в появившемся окне в поле Name необходимо ввести имя проекта.
Здесь также можно задать расположение каталога проекта на диске. Удобно
оставить его заданным «по умолчанию» и все проекты создавать в
поддиректории Workspace (рис. "Задание имени проекта").
6. После задания имени нужно нажать на кнопку Next, появится окно настройки
проекта (рис. "Настройки проекта"), в котором задаются параметры
трансляции проекта, а также те проекты, которые могут быть использованы
текущим. Нажатие кнопки Finish завершает создание проекта.
Создание проекта.
23
ЮФКВ.30074-01 33 11
Задание имени проекта.
Настройки проекта.
После создания проекта в окошке
соответствующий вновь созданному проекту.
C/C++
Projects
появится
узел
дерева,
24
ЮФКВ.30074-01 33 11
Далее необходимо создать файлы проекта. Для этого необходимо:
Создание файлов проекта
1. В перспективе C/C++, в окошке C/C++ Projects выделяем созданный проект и
вызываем правой кнопкой мыши pop-up меню, в котором выбираем пункт
New->File (можно выбрать также пункт Folder для создания подкаталога
проекта).
2. Убеждаемся, что в появившемся окне в списке проектов выделен нужный, и
вводим в поле File name имя файла (рис. "Создание файла в проекте").
Расширение файла должно быть .c (если файл содержит исходный текст на C),
.cpp, .cxx, .cc (текст на C++) или .asm (текст на ассемблере).
3. Нажимаем кнопку Finish.
После нажатия кнопки Finish создаётся новый файл, он добавится в структуру нашего
проекта в окне C/C++ Projects, а также откроется на редактирование в окне
проассоциированного с этим файлом редактора. Если за файлом такого типа никакого редактора
не закреплено, то откроется обычный текстовый редактор.
25
ЮФКВ.30074-01 33 11
Создание файла в проекте.
Сохранение содержимого файла происходит либо по нажатию комбинации Ctrl+S, либо
по вызову меню File->Save, либо по нажатию на иконку в главной панели инструментов.
3.2. Трансляция проекта (получение объектных файлов)
Перед трансляцией можно настроить некоторые свойства, которые будут влиять на
процесс компиляции. Для изменения настроек необходимо:
Изменение настроек проекта
1. Вызвать правой кнопкой мыши контекстное меню, в котором выбрать пункт
Properties->C/C++ Build (рис. "Опции проекта").
2. В блоке Configuration settings настраиваются параметры запуска командной
строки при построении проекта.
3. В дилоге Manage (кнопка Manage...) задается имя и расширение выходного
исполняемого файла. Если поле Artifact extension остается пустым,
расширение будет соответствовать выбранному выходному формату.
Опции проекта.
26
ЮФКВ.30074-01 33 11
Диалог Manage.
Для трансляции проекта в перспективе C/C++, в окошке C/C++ Projects выделяем
созданный проект и вызываем правой кнопкой мыши pop-up меню, в котором выбираем пункт
Build (или Rebuild) и запускаем процесс трансляции. Данные пункты не будут доступны, если в
меню Project включена функция Build Automatically. Если трансляция завершается успешно, то
результат трансляции – объектный или исполняемый файл – будет отображен в структуре
проекта в окне C/C++ Projects.
Необходимо упомянуть о некоторых настройках процесса компиляции в среде. В меню
Window->Preferences можно включить/выключить 2 опции (см. рис. "Настройка процесса
компиляции в среде"):
Build automatically (Автоматически запускать сборку проекта при изменении ресурсов)
Save automatically before build (Автоматически сохранять все изменившиеся ресурсы перед
ручной сборкой)
27
ЮФКВ.30074-01 33 11
Настройка процесса компиляции в среде.
28
ЮФКВ.30074-01 33 11
4. Запуск и отладка проектов C/C++ и Assembler
Если проект был корректно оттранслирован, то следующим этапом является запуск
проекта на выполнение или отладка. Переключаться в Debug-перспективу необязательно, это
будет сделано автоматически.
4.1. Запуск проектов
Для запуска проекта на выполнение необходимо произвести определённые настройки.
Настройка запуска проекта
1. Вызывается специальная форма (рис. "Настройка запуска проекта"). Вызов
этой формы осуществляется нажатием на стрелочку на иконке
в главной
панели инструментов среды и выбором пункта Run, либо через главное меню,
пункт Run->Run. При этом стоит убедиться, что запускаемый проект является
текущим, т.е. в окне проектов выбран именно он.
2. В поле Configurations нужно выбрать NM64xx Launch и нажать на кнопку
New.
3. Справа появится поле, соответствующее одной конфигурации проекта. Это
значит, что конфигурация с именем, заданным в поле Name (его можно
менять, в данном случае это elf) будет осуществлять запуск в соответствии со
своими настройками.
Среди этих настроек можно выделить следующие:


имя проекта (закладка Main)
собственно запускаемый файл (закладка Main)
После установки всех нужных настроек можно немедленно запустить проект (все
настройки тем временем сохранятся), нажав Run, а можно просто сохранить конфигурацию,
нажав на кнопку Apply В дальнейшем можно запускать проект, нажав на стрелочку в иконке
, и выбрав из списка конфигураций нужную. Если конфигурация только одна, можно
просто нажимать на иконку
.
29
ЮФКВ.30074-01 33 11
Настройка запуска проекта.
Прервать выполнение можно, нажав на кнопку
в окошке Debug View или Console .
Вывод программы будет осуществляться в отдельном консольном окне IS Debugger
input/output console.
4.2. Отладка проектов
Для отладки проекта также необходимо сделать определённые настройки. Для этого:
вызывается такая же специальная форма (рис. "Настройка запуска проекта"). Вызов этой формы
осуществляется нажатием на стрелочку на иконке
в главной панели инструментов среды и
выбором пункта Debug…, либо через главное меню, пункт Run->Debug…
Если настройки для запуска проекта уже сделаны, то остаётся задать только настройки
отладки, если же нет, то необходимо, руководствуясь Раздел 4.1, «Запуск проектов» задать эти
настройки.
Настройка процесса отладки происходит в закладке Debugger (рис. "Настройка отладки
проекта"). Поле Debugger оставляем без изменений, выбираем Run program in debugger.
Выделенное поле Stop at main() on startup означает, что после запуска процесса отладки
выполнение остановится на входе в функцию main(), не выделенное поле – выполнение
остановится на точке входа в программу. Всё остальное оставляем без изменений.
30
ЮФКВ.30074-01 33 11
Настройка отладки проекта.
После установки всех нужных настроек можно немедленно начать отладку (все
настройки тем временем сохранятся), нажав кнопку Debug, а можно просто сохранить
конфигурацию, нажав кнопку Apply В дальнейшем можно отлаживать проект, нажав на
стрелочку в иконке
, и выбрав из списка конфигураций нужную. Если конфигурация
только одна, можно просто нажимать на иконку
.
4.3. Просмотр и модификация ресурсов программы
После запуска проекта на отладку среда предложит переключиться на ассоциированную
с отладкой перспективу Debug. Переход к ассоциированной перспективе может быть настроен в
меню Window->Preferences пункте Run/Debug->Launching блоке Switch to associated
perspective when launching.
После запуска проекта на отладку среда предложит переключиться на ассоциированную
с отладкой перспективу Debug. В процессе отладки среда выглядит, как показано на рис. "Среда
во время процесса отладки"
31
ЮФКВ.30074-01 33 11
Среда во время процесса отладки.
Окно Debug отвечает за отображение и управление процессом отладки. В нём можно
видеть текущий контекст отлаживаемой программы – имя функции или метки, имя файла,
номер строки в файле. Так же в этом окне можно осуществлять запуск и останов программы,
движение по шагам (степ). Все эти действия можно осуществлять из главного меню, пункта
Run, или по нажатию клавиш (Run->Resume (клавиша F8), Run->Suspend, Run->Terminate,
Run->Step(F5), Run->Step into(F6), Run->Step return(F7)).
На нижеследующих рисунках изображены окошки, которые отображают ресурсы
отлаживаемой программы.
Окно, отображающее значение регистров.
Следует отметить, что регистры разбиты на группы. Изменить значение регистра можно
просто переписав старое значение на новое. Изменённые регистры подкрашиваются красным
цветом.
32
ЮФКВ.30074-01 33 11
В окне дизассемблера отображается проект в виде ассемблерных инструкций. Текущая
строка исполнения выделятся цветом и на нее указывает стрелка в левом поле окна. Если
включена функция Instruction mode в окне Debug, то шаги будут осуществляться по данным
ассемблерным инструкциям.
Окно дизассемблера.
Для того чтобы получить дамп памяти, необходимо задать в поле Address окна Memory
адрес ячейки, с которой начнётся отображение (рис. "Окно, отображающее содержимое памяти
начиная с заданного адреса"). Кроме непосредственно адреса можно задавать имена переменных
или выражения языка C. Изменить значение памяти в какой-либо ячейке можно просто
переписав старое значение на новое. Изменение произойдёт автоматически.
Для добавления выражения в окно Expression (рис. "Выражения") необходимо в
редакторе кликнуть правой кнопкой мыши и в pop-up меню выбрать пункт Add
C/C++Expression.
В выражениях допустимо использование следующих операций языка C:




арифметические: "+", "-", "*" ,"/", "%"
логические: "||", "&&", "==", "!=", "<", ">", "<=", ">="
побитовые: "<<", ">>", "|", "&"
операции доступа: "&", "*", ".", "->", "[]"
Операция "+" в применении к массиву эквивалентна операции "[]".
Окно, отображающее содержимое памяти начиная с заданного адреса.
33
ЮФКВ.30074-01 33 11
Локальные переменные.
Переменные демонстрируются в окошке Variables (см. рис. "Локальные переменные").
Они бывают 3-х видов – изменяемые (значок ), неизменяемые (значок ) и переменныеуказатели (значок ).
Значение изменяемых переменных, так же как и переменных-указателей, можно
модифицировать, дважды кликнув на значении или выбрав в контекстном меню пункт Change
Variable Value В появившемся диалоговом окне (см. рис. "Окно изменения значения
переменной") можно задать новое значение переменной.
У переменных-указателей можно просмотреть значения, начиная с выбранного и
заданной длины. Для этого в контекстном меню необходимо выбрать пункт Display As Array и
в появившемся окне (см. рис. "Окно задания диапазона просмотра значений по указателю")
выбрать начальный индекс просмотра и длину. Вернуть переменную в исходное состояние
можно, выбрав в том же меню пункт Restore default type.
Выражения.
34
ЮФКВ.30074-01 33 11
Окно изменения значения переменной.
Окно задания диапазона просмотра значений по указателю.
4.4. Контрольные точки и процесс отладки
4.4.1. Установка контрольных точек (точек останова)
Точки останова могут ставиться и удаляться непосредственно в редакторе, для этого
необходимо дважды кликнуть левой кнопкой по левой границе напротив нужной строки в окне
редактора исходных текстов (программная точка останова) или в окне дизассемблера (адресная
точка останова) или вместо двойного клика кликнуть правой кнопкой и в появившемся
контекстном меню выбрать пункт Toggle Breakpoint.
Необходимо отметить, что точки останова устанавливаются только на строки, которые
«участвуют» в исполнении программы. В случае если она установлена не на те строки, среда
автоматически переставит точку на ближайшее подходящее место.
Список всех точек останова имеется в окне Breakpoints(рис. "Список контрольных
точек").
35
ЮФКВ.30074-01 33 11
Список контрольных точек.
Точки останова могут быть в двух состояниях – активны (enabled) и неактивны (disabled).
Переключить состояние точки останова можно либо в редакторе: для этого необходимо
кликнуть правой кнопкой и в появившемся контекстном меню выбрать пункт Enable breakpoint
(или Disable breakpoint), либо в окне Breakpoints для этого необходимо выбрать нужную
точку, кликнуть правой кнопкой и в появившемся контекстном меню выбрать пункт Enable (или
Disable).
Каждой точке останова можно присвоить состояние, при котором она будет срабатывать.
Это можно сделать также двумя способами, через редактор исходных текстов и через окно
Breakpoints. В обоих случая надо выделить нужную точку останова, вызвать контекстное меню
и выбрать в нём пункты Breakpoint Properties или Properties соответственно и в появившемся
диалоговом окне (рис. "Задание свойств у точек останова") ввести в поле Condition условие
срабатывания точки останова. Если условие истинно, точка останова сработает, если ложно нет. В условии могут быть использованы операции, аналогичные используемым в окне
Expressions.
В поле Ignore Count можно ввести количество прохождений точки останова, после
которых она начнет срабатывать.
Задание свойств у точек останова.
36
ЮФКВ.30074-01 33 11
4.4.2. Управление выполнением программы. Навигация по исходным текстам и вывод
символьной информации
В процессе отладки предусмотрена возможность управления выполнением программы и
навигации по исходному тексту. Это можно сделать либо используя главное меню Run, либо
окно Debug, либо «горячие клавиши».
В первом случае необходимо открыть меню и выбрать один из следующих пунктов (в
скобках указаны соответствующие «горячие клавиши»; иконка – то, что соответствует данному
действию в окне Debug)
Список возможных действий:
Restart
Запуск программы . При нажатии на кнопку рестарт происходит перезапуск
отлаживаемой программы.
Run to C/C++ Line
Выполнение программы до курсора
Resume (F8)
Продолжение выполнения остановленной по какой-либо причине программы. Запуск
программы.
Suspend
Останов программы.
Terminate
Прекращение выполнения программы.
Step Into (F5)
Шаг с входом в функцию.
Step Over (F6)
Шаг без входа в функцию.
Step Out (F7)
Выход из функции.
Вывод символьной информации производится в специальное консольной окно, которое
открывается во время запуска отладки программы.
37
ЮФКВ.30074-01 33 11
Приложение A. "Горячие" клавиши























<Ctrl> + <F4> - команда File /Close
<Ctrl> + <Shift>+ <F4> - команда File /Close All
<Ctrl> + <S> - команда File /Save
<Ctrl> + <Shift>+ <S> - команда File /Save All
<Ctrl> + <P> - команда File /Print
<alt> + <Enter> - команда File /Properties
<Ctrl> + <Z> - команда Edit /Undo
<Ctrl> + <Y> - команда Edit /Redo
<Ctrl> + <X> - команда Edit /Cut
<Ctrl> + <C> - команда Edit /Copy
<Ctrl> + <V> - команда Edit /Paste
<Ctrl> + <A> - команда Edit /Select All
<Ctrl> + <F> - команда Edit /Find/Replace
<Ctrl> + <K> - команда Edit /Find Next
<Ctrl> + <Shift> + <K> - команда Edit /Find Previous
<Ctrl> + <Q> - команда Navigate /Go to Last Edit Location
<Ctrl> + <L> - команда Navigate /Go to Line...
<Ctrl> + <Arrow Left> - команда Navigate /Back
<Ctrl> + <Arrow Right> - команда Navigate /Forward
<Ctrl> + <H> - команда Search /Search...
<Ctrl> + <F11> - команда Run /Run Last Launched
<F11> - команда Run /Debug Last Launched
<Ctrl> + <Shift> + <W> - команда Window /Switch to Editor...
38
ЮФКВ.30074-01 33 11
Лист регистрации изменений
Номера листов (страниц)
Изм
изме-
заменен-
.
ненных
ных
новых
Всего
Входящий
аннули-
листов
N
N сопрово-
Подп. Да-
рован-
(страниц)
докумен-
дительного
та
ных
в докум.
та
документа
и дата
Download