Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Анализатор процессов
Форум на CrossPlatform.RU > Разработка > Инструменты разработчика
ifritee
Всем доброго времени суток. Подскажите пожалуйста графический анализатор работы многопоточной и многопроцессной программы (для RTOS на основе Linux). Точнее, некий аналог WindView для VxWorks, т. е. программу, которая бы наглядно показала как ведут себя потоки (перехватывают процессоры, забирают вычислительные мощности машины...). Сейчас все делается в ручную, что очень неудобно, т.к. не видно когда поток спит,а когда выполняет полезную работу.
Litkevich Yuriy
а те которые идут с Гномом и КДЕ, системные мониторы, они не подходят?
(Там ведь статус процесса указывается, активен/пасивен/зомби)
Iron Bug
Litkevich Yuriy, системным монитором ты перехват процессора не увидишь.

а так, смотря какова цель и глубина исследования. RTOS обычно очень мелки и на них не развернуть какой-то серьёзный отладочный инструмент.

можно попробовать специфические анализаторы, которые зависят от процессора: Intel VTune и у AMD есть какой-то свой анализатор, я не помню названия, можно погуглить, он у них на официальном сайте бесплатно для скачивания лежит.
ifritee
К сожалению, эти инструменты не подходят - работа ведется на Эльбрус 90микро, а там какой-то полу самодельный процессор. Поэтому желательно, чтоб анализатор был с открытыми исходниками, чтобы внести изменения при необходимости.
Litkevich Yuriy
Цитата(ifritee @ 8.2.2013, 13:10) *
Эльбрус 90микро, а там какой-то полу самодельный процессор.
у них вроде разновидность Спарка была.
А поддержки у них нет, может есть готовые инструменты?
Iron Bug
под линюкс практически всё с открытыми исходниками. но это не поможет. потому что все анализаторы потоков процессорно-зависимые. или слишком мощные и жручие, их не поставить на RTOS. в таких случаях только самопальные счётчики прикручивать можно и смотреть, кто сколько съел. да и это может оказаться весьма приблизительно, ибо не все процессоры позволяют это точно замерить.
если это линюкс, можно попробовать скомпилить проект под общераспространённую платформу (если он не сильно железоориентированный), отладить взаимодействие потоков в нормальном мощном отладчике типа интелловского, а потом уже готовый код засунуть обратно под свою платформу.
ifritee
Цитата(Litkevich Yuriy @ 8.2.2013, 20:32) *
Цитата(ifritee @ 8.2.2013, 13:10) *
Эльбрус 90микро, а там какой-то полу самодельный процессор.
у них вроде разновидность Спарка была.
А поддержки у них нет, может есть готовые инструменты?

Да, там стоит процессор на основе SPARC v8, но самодельная ОС. А соответственно, те инструменты, которые предоставляет Oracle (Sun) не работают. Кроме кросс компилятора разработчик ничего не поставляет. Работаю пока только с top, gdb, gprof...

Цитата(Iron Bug @ 8.2.2013, 20:37) *
можно попробовать скомпилить проект под общераспространённую платформу (если он не сильно железоориентированный), отладить взаимодействие потоков в нормальном мощном отладчике типа интелловского, а потом уже готовый код засунуть обратно под свою платформу.

Примерно так сейчас и поступаем - пишем программу, отлаживаем под QNX все многопоточные части кода (инструментарий просто обалденный, есть все, что надо) и затем уже пляшем с эльбрусом. Но хотелось чего-то более приближенного к целевой машине, потому что эльбрус черт-те как работает.
Алексей1153
ifritee, а Erlang-компилятора нет под эту платформу ? Решит все проблемы, судя по моим, в общем-то, начальным знаниям по этому языку )

Он заточен под прозрачное использование потоков. Ну, правда, программу придётся написать заново
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2019 IPS, Inc.