Профилирование приложения в qnx momentics · web viewЗапускаем...

11
Профилирование приложения в QNX Momentics. 1. Установка ОСРВ QNX 6.3 Установка QNX будет производиться на виртуальную машину. Запускаем (или устанавливаем если не имеем) программу VMware (дальнейшие шаги могут различаться в разных версиях VMware). Нажимаем Файл->Новая виртуальная машина, выбираем обычный тип установки. Выбираем iso образ файла операционной системы (файл QNX630.iso). Гостевая версия ОС “Другая”, версия “Other”. 1

Upload: others

Post on 07-Mar-2021

16 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Профилирование приложения в QNX Momentics · Web viewЗапускаем QNX, заходим как superuser. Создание первого приложения

Профилирование приложения в QNX Momentics.

1. Установка ОСРВ QNX 6.3

Установка QNX будет производиться на виртуальную машину. Запускаем (или устанавливаем если не имеем) программу VMware (дальнейшие шаги могут различаться в разных версиях VMware).Нажимаем Файл->Новая виртуальная машина, выбираем обычный тип установки.Выбираем iso образ файла операционной системы (файл QNX630.iso).

Гостевая версия ОС “Другая”, версия “Other”.

1

Page 2: Профилирование приложения в QNX Momentics · Web viewЗапускаем QNX, заходим как superuser. Создание первого приложения

Выбираем имя виртуальной машины и её расположение.Указываем размер диска (например 4Gb).

Проводим настройку оборудования виртуальной машины, например можно изменить объём оперативной памяти. В устройства добавляем оборудование “USB-контроллер”.

2

Page 3: Профилирование приложения в QNX Momentics · Web viewЗапускаем QNX, заходим как superuser. Создание первого приложения

Нажимаем готово, виртуальная машина создана.Запускаем созданную виртуальную машину.Установку QNX производить в соответствии с главой 1 книги Сергея Зыля “QNX Momentics основы применения”.Лицензионный ключ 57WA-U9L0-AB0H-8HZE-T5TJ.

3

Page 4: Профилирование приложения в QNX Momentics · Web viewЗапускаем QNX, заходим как superuser. Создание первого приложения

Запускаем 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. Создание первого приложения

Задаём имя проекта ->next.

Убираем все Build Variants, и оставляем только x86 -> finish.

5

Page 6: Профилирование приложения в QNX Momentics · Web viewЗапускаем QNX, заходим как superuser. Создание первого приложения

Собираем проект (Ctrl+B).

6

Page 7: Профилирование приложения в QNX Momentics · Web viewЗапускаем QNX, заходим как superuser. Создание первого приложения

Нажимаем 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. Создание первого приложения

Собираем и проверяем работоспособность проекта.Для осуществления профилирования требуется добавить две библиотеки

#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. Создание первого приложения

Возвращаемся в среду разработки Momentics.В навигаторе проектов кликаем правой кнопкой мыши по названию проекта ->refreshОткрываем добавленный файл tracebuffer.kev

Правой кнопкой мыши по графикам ->Event Owner Filters->Custom Owner FilterТам убираем всё, и выбираем ядро procnto, sh и наш проект.

9

Page 10: Профилирование приложения в QNX Momentics · Web viewЗапускаем QNX, заходим как superuser. Создание первого приложения

Добавляем стрелочки Display->Show IPC

10

Page 11: Профилирование приложения в QNX Momentics · Web viewЗапускаем QNX, заходим как superuser. Создание первого приложения

Приближаем интересующий участок.

11