Профилирование приложения в qnx momentics. Установка осрв qnx 3




Дата канвертавання25.04.2016
Памер26.37 Kb.
Профилирование приложения в QNX Momentics.


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

Установка QNX будет производиться на виртуальную машину.

Запускаем (или устанавливаем если не имеем) программу VMware (дальнейшие шаги могут различаться в разных версиях VMware).

Нажимаем Файл->Новая виртуальная машина, выбираем обычный тип установки.

Выбираем iso образ файла операционной системы (файл QNX630.iso).

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



Выбираем имя виртуальной машины и её расположение.

Указываем размер диска (например 4Gb).

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



Нажимаем готово, виртуальная машина создана.

Запускаем созданную виртуальную машину.

Установку QNX производить в соответствии с главой 1 книги Сергея Зыля “QNX Momentics основы применения”.

Лицензионный ключ 57WA-U9L0-AB0H-8HZE-T5TJ.
Запускаем QNX, заходим как superuser.


  1. Создание первого приложения

Запускаем среду разработки QNX Momentics (Launch->QNX Momentics 6.3.0->Integrated Development Environment).


Создаём новый проект File->New->QNX C++ Project.

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


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


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

Нажимаем Run->Run…

Создаём новое C/C++ Local Application.
В C/C++ Application выбираем имя нашего приложения без _g.

Запускаем проект (должна загореться кнопка RUN), в окно console выведется результат работы программы.




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

Выбираем одну из предложенных программ.

Создаём новый проект или редактируем готовый.
Если нужно перенести файл проекта в QNX с внешнего носителя, то он определяется в системе по пути /fs/hd.

Собираем и проверяем работоспособность проекта.

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

#include

#include

В код программы добавляем первой же командой в функции main

TraceEvent(_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

Во втором терминале traceloggern0 &

В первом терминале пишем название проекта (запустится наше приложение).

Во втором терминале останавливаем работу трейслоггера slay tracelogger, нажимаем ещё раз Enter.

В директории /dev/shmem появился файл-отчёт tracebuffer.kev

Копируем данный файл в папку с проектом командой



cp /dev/shmem/tracebuffer.kev /root/workspace/имя_проекта

Возвращаемся в среду разработки Momentics.

В навигаторе проектов кликаем правой кнопкой мыши по названию проекта ->refresh

Открываем добавленный файл tracebuffer.kev


Правой кнопкой мыши по графикам ->Event Owner Filters->Custom Owner Filter

Там убираем всё, и выбираем ядро procnto, sh и наш проект.



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



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






База данных защищена авторским правом ©shkola.of.by 2016
звярнуцца да адміністрацыі

    Галоўная старонка