Проектирование с использованием IDE (Отчет о выполнении научно-исследовательской работы), страница 2

Рис. 1. Virtual Network Editor

2)  В QNX нужно зайти в настройки сети: Configure -> Network -> Devices и прописать параметры, как на рис. 2.

Рис. 2

Для проверки работы сети можно ввести в командной строке Windows:

C:\Documents and Settings\x>ping 192.168.0.1

Обмен пакетами с 192.168.0.1 по 32 байт:

Ответ от 192.168.0.1: число байт=32 время<1мс TTL=128

Ответ от 192.168.0.1: число байт=32 время<1мс TTL=128

Ответ от 192.168.0.1: число байт=32 время<1мс TTL=128

Ответ от 192.168.0.1: число байт=32 время<1мс TTL=128

Статистика Ping для 192.168.0.1:

    Пакетов: отправлено = 4, получено = 4, потеряно = 0 (0% потерь),

Приблизительное время приема-передачи в мс:

    Минимальное = 0мсек, Максимальное = 0 мсек, Среднее = 0 мсек

И аналогично в QNX (ping 192.168.0.1). Пакеты передаются – сеть настроена.  

2.  Создание проекта на примере программ из п.2.

Описание процесса создания проекта:

File -> New -> QNX C Project. Далее прописываются имя проекта и параметры сборки (рис. 3).

Рис. 3.

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

      Для настройки связи с целевой платформой нужно выбрать в правом верхнем углу иконку QNX System Profiler Perspective. Затем щелкнуть правой кнопкой по полю Target Navigator и создать New QNX Target, указав ее IP (192.168.0.10). Чтобы подключить целевую платформу, нужно запустить в терминале QNX утилиту qconn.

      Далее необходимо настроить параметры запуска (Run -> Run Configuration). На рис. 4 показано заполнение полей в форме Run Configuration. Необходимо указать запускаемый файл (он был сгенерирован при построении), целевую платформу.

Рис. 4

      Во вкладке Tools можно добавить дополнительные инструменты (при нажатии кнопки Add/Delete Tool открывается окно Tools Selection, в котором нужно выбрать инструмент Application Profiler) (рис. 5).

Рис. 5

      Утилита qconn уже запущена, можно запускать файл сервера в QNX. После чего можно запустить клиента в среде (Run в C/C++ Perspective). В качестве примера приведены результаты запуска клиент-серверного приложения обмена сообщениями средствами QNX.

В результате в среде отражается результат запуска.

CLIENT get: Answer

End of client

В терминале:

# ./server&

SERVER get: "ask"

SERVER get: ""

Нижнее сообщение – служебное.

Исследование утилит tracelog, traceprint

Для проведения анализа системы используется утилита tracelogger. С помощью неё можно получить информацию о работе всех процессов в системе и их временные срезы.

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

# ./server&

[1] 974897

# tracelogger -c -s10  -f ./log.txt

PID: 974897

SERVER get: "ask"

SERVER get: ""

Для того, чтобы прочитать этот файл нужно воспользоваться утилитой traceprinter, но в этом файле находится информация о всех выполняемых процессах в системе, поэтому отфильтруем информацию по pid нашего сервера: