Профилирование программ в QNX Momentics Habr

Профилирование программ в QNX Momentics Habr momentics

Профилирование программ в QNX Momentics.

Общие сведения.

QNX Momentics Professional Edition (PE) основанная на платформе Eclipse — это полнофункциональный и высокоинтегрированный профессиональный комплект разработчика, который содержит все необходимые для построения и оптимизации приложений ОСРВ QNX Neutrino. Благодаря широкому набору удобных инструментов — от средств встраивания на процессорную плату до средств удаленной диагностики — комплект QNX Momentics PE обеспечивает единую, гибкую программную среду для всего цикла разработки цикла.

Профилирование программ простой и удобный механизм выполнения программы с целью ее оптимизации. Профилирование — это сборка показателей работы программы. д. Инструмент, использовать для анализа работы, называют профилировщиком .

В данном forex system руководстве по шагам профилируем учебное, многопоточное приложение sy21 с помощью QNX System Profiler и QNX Application Profiler, для демонстрации возможностей средств профилирования в QNX Momentics.

Профилировщик Профилировщик приложений показывает время выполнения отдельных фрагментов программы..

Профилировщик Профилировщик системы идет дальше обычных отладчиков и анализаторов кода, он представляет собой графический инструмент системного анализа, позволяя исследовать то, как представляет друг с другом все компоненты сложной системы реального времени. Результатом являются дополнительные удобства для пользователей в плане поиска ошибок и оптимизации, а также повышение скорости работы и большая предсказуемость самих систем..

Многопоточное приложение sy21 построенное на семафорах (Семафо́р — объект, позволяющий войти в заданный участок кода не более чем n потокам) показывает работу потоковой передачи, в рамках данного руководства позволяет лучше работать профилировщика.

Подготовка.

Для работы с этим потребуются: QNX Momentics, для компиляции и выполнения самого профилирования (в использовании используется версия — 6.5, но средства профилирования доступны с более ранних версий) Установленная QNX Neutrino, для запуска скомпилированного приложения (в использовании виртуальная машина) VMware Workstation) Средние знания языка C++

Профилирование.

В QNX Momentics создадим новый проект QNX C ++, во вкладке Buld Variants установим конфигурацию.

Проект создан, теперь скомпилируем приложение Project->Build Project, при успешной компиляции в консоли увидим следующее.

Создадим C / C ++ QNX QConn (ip) конфигурацию для выполнения программы run->запустить forex trading system конфигурации.

В поле C / C ++ Aplication выберем наш проект.

Профилирование программ в QNX Momentics Habr System Profiler

В поле Target Options запишем ip адрес запущенной ОС QNX Neutrino.

Ip-адрес можно запустить, запустить в системе терминал команду ifconfig, для мониторинга процессов в momentics запустить запуск агента qconn.

Переходим к вкладке аргументов выполняемой программы, запустим программу с аргументами -n20 -t2, n — количество итераций цикла синхронизации (передачи управления), t — количество потоков, между выполненной синхронизация.

теперь создадим конфигурацию профилировщика:

Запустим настройку профилировщика, пока он работает, запускаем на выполнение нашу программу. Откроем создаваемую лог, для этого переходим на вкладку QNX System Profiler и открываем лог (файл с расширением kev) Общая информация:

Графическое представление процессов и потоков:

Рассмотрим подробнее. Найдем наш процесс и посмотри поближе. Создание первого дочернего потока:

Теперь перейдем на вкладку Профилировщик приложений QNX.

здесь можно посмотреть общее время отдельных как отдельных функций так и потоков.

Так же если перейти на вкладку Информация о системе QNX можно посмотреть статус работающей операционной системы. Запущенные процессы:

Информацию о выбранном процессе:

Информацию о памяти:

В данном случае мы не будем оптимизировать, так оно было написано для демонстрирования средств профилирования.

Похожие статьи