Рис. 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 нашего сервера:
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.