Профилирование приложения в qnx momentics · web viewЗапускаем...
TRANSCRIPT
![Page 1: Профилирование приложения в QNX Momentics · Web viewЗапускаем QNX, заходим как superuser. Создание первого приложения](https://reader036.vdocuments.pub/reader036/viewer/2022071413/610ae7d946c5b616181481a0/html5/thumbnails/1.jpg)
Профилирование приложения в QNX Momentics.
1. Установка ОСРВ QNX 6.3
Установка QNX будет производиться на виртуальную машину. Запускаем (или устанавливаем если не имеем) программу VMware (дальнейшие шаги могут различаться в разных версиях VMware).Нажимаем Файл->Новая виртуальная машина, выбираем обычный тип установки.Выбираем iso образ файла операционной системы (файл QNX630.iso).
Гостевая версия ОС “Другая”, версия “Other”.
1
![Page 2: Профилирование приложения в QNX Momentics · Web viewЗапускаем QNX, заходим как superuser. Создание первого приложения](https://reader036.vdocuments.pub/reader036/viewer/2022071413/610ae7d946c5b616181481a0/html5/thumbnails/2.jpg)
Выбираем имя виртуальной машины и её расположение.Указываем размер диска (например 4Gb).
Проводим настройку оборудования виртуальной машины, например можно изменить объём оперативной памяти. В устройства добавляем оборудование “USB-контроллер”.
2
![Page 3: Профилирование приложения в QNX Momentics · Web viewЗапускаем QNX, заходим как superuser. Создание первого приложения](https://reader036.vdocuments.pub/reader036/viewer/2022071413/610ae7d946c5b616181481a0/html5/thumbnails/3.jpg)
Нажимаем готово, виртуальная машина создана.Запускаем созданную виртуальную машину.Установку QNX производить в соответствии с главой 1 книги Сергея Зыля “QNX Momentics основы применения”.Лицензионный ключ 57WA-U9L0-AB0H-8HZE-T5TJ.
3
![Page 4: Профилирование приложения в QNX Momentics · Web viewЗапускаем QNX, заходим как superuser. Создание первого приложения](https://reader036.vdocuments.pub/reader036/viewer/2022071413/610ae7d946c5b616181481a0/html5/thumbnails/4.jpg)
Запускаем QNX, заходим как superuser.
2. Создание первого приложения
Запускаем среду разработки QNX Momentics (Launch->QNX Momentics 6.3.0->Integrated Development Environment).
Создаём новый проект File->New->QNX C++ Project.
4
![Page 5: Профилирование приложения в QNX Momentics · Web viewЗапускаем QNX, заходим как superuser. Создание первого приложения](https://reader036.vdocuments.pub/reader036/viewer/2022071413/610ae7d946c5b616181481a0/html5/thumbnails/5.jpg)
Задаём имя проекта ->next.
Убираем все Build Variants, и оставляем только x86 -> finish.
5
![Page 6: Профилирование приложения в QNX Momentics · Web viewЗапускаем QNX, заходим как superuser. Создание первого приложения](https://reader036.vdocuments.pub/reader036/viewer/2022071413/610ae7d946c5b616181481a0/html5/thumbnails/6.jpg)
Собираем проект (Ctrl+B).
6
![Page 7: Профилирование приложения в QNX Momentics · Web viewЗапускаем QNX, заходим как superuser. Создание первого приложения](https://reader036.vdocuments.pub/reader036/viewer/2022071413/610ae7d946c5b616181481a0/html5/thumbnails/7.jpg)
Нажимаем Run->Run…Создаём новое C/C++ Local Application.
В C/C++ Application выбираем имя нашего приложения без _g.
Запускаем проект (должна загореться кнопка RUN), в окно console выведется результат работы программы.
3. Профилирование приложения.
Выбираем одну из предложенных программ.Создаём новый проект или редактируем готовый.
Если нужно перенести файл проекта в QNX с внешнего носителя, то он определяется в системе по пути /fs/hd.
7
![Page 8: Профилирование приложения в QNX Momentics · Web viewЗапускаем QNX, заходим как superuser. Создание первого приложения](https://reader036.vdocuments.pub/reader036/viewer/2022071413/610ae7d946c5b616181481a0/html5/thumbnails/8.jpg)
Собираем и проверяем работоспособность проекта.Для осуществления профилирования требуется добавить две библиотеки
#include <sys/neutrino.h>#include <sys/trace.h>
В код программы добавляем первой же командой в функции mainTraceEvent(_NTO_TRACE_FLUSHBUFFER);TraceEvent(_NTO_TRACE_START);
Добавляем в конец функции main перед выходом из функции (exit или return) TraceEvent(_NTO_TRACE_STOP);
Собираем проект (Ctrl+B).Запускаем файловый менеджер (Launch->Utilities->File Manager).Идём в папку /root/workspace/имя_проекта/x86/oОткрываем два терминала (Ctrl+T).В первом терминале пишем PATH=.:PATHВо втором терминале tracelogger –n0 &В первом терминале пишем название проекта (запустится наше приложение).Во втором терминале останавливаем работу трейслоггера slay tracelogger, нажимаем ещё раз Enter.В директории /dev/shmem появился файл-отчёт tracebuffer.kevКопируем данный файл в папку с проектом командой cp /dev/shmem/tracebuffer.kev /root/workspace/имя_проекта
8
![Page 9: Профилирование приложения в QNX Momentics · Web viewЗапускаем QNX, заходим как superuser. Создание первого приложения](https://reader036.vdocuments.pub/reader036/viewer/2022071413/610ae7d946c5b616181481a0/html5/thumbnails/9.jpg)
Возвращаемся в среду разработки Momentics.В навигаторе проектов кликаем правой кнопкой мыши по названию проекта ->refreshОткрываем добавленный файл tracebuffer.kev
Правой кнопкой мыши по графикам ->Event Owner Filters->Custom Owner FilterТам убираем всё, и выбираем ядро procnto, sh и наш проект.
9
![Page 10: Профилирование приложения в QNX Momentics · Web viewЗапускаем QNX, заходим как superuser. Создание первого приложения](https://reader036.vdocuments.pub/reader036/viewer/2022071413/610ae7d946c5b616181481a0/html5/thumbnails/10.jpg)
Добавляем стрелочки Display->Show IPC
10
![Page 11: Профилирование приложения в QNX Momentics · Web viewЗапускаем QNX, заходим как superuser. Создание первого приложения](https://reader036.vdocuments.pub/reader036/viewer/2022071413/610ae7d946c5b616181481a0/html5/thumbnails/11.jpg)
Приближаем интересующий участок.
11