DynInst
DynInst — мультиплатформенная библиотека патчинга исполнимого кода, разработанная в Университете Висконсина-Мэдисона и Университете Мэриленда, Колледж-Парк. Она может быть весьма полезной при разработке инструментов измерения производительности, отладчиков и симуляторов.
История
Работа над API началась в первой половине 90-х, а версия 1.0 вышла 23 сентября 1997 года. Затем выходили регулярные обновления, и последним на данный момент релизом является версия 6.0, выпущенная 2 июля 2009 года. На данный момент реализована поддержка двух основных операционных систем - Linux и Microsoft Windows, а также поддержка нескольких наиболее распространенных микроархитектур процессоров: Power/PowerPC (AIX), SPARC (Solaris), x86 (Linux и Windows NT/2K/XP), а также IA-64 (Linux)
Обзор
По своей сути, DynInst - это интерфейс программирования приложений (API), реализованный в виде бибилотеки. API был разработан в рамках проекта Paradyn, целью которого являлось создание эффективного метода динамической инструментации без сильной модификации исполнимых файлов. Помимо самого DynInst API, в комплекте поставляются еще несколько наборов API: SymtabAPI, StackwalkerAPI, InstructionAPI и DepgraphAPI (они также реализованы в виде бибилиотеки).
Обычный цикл разработки программы состоит из создания (правки) исходного кода, компиляции и запуска получившегося бинарного файла (двоичного кода). Иногда бывает гораздо удобнее влиять на исполнение программы без внесения изменений в исходный код, и тем самым обходясь без его перекомпиляции. Собственно, данный API и решает такую задачу. Он обеспечивает поддержку вставки кода в уже работающую программу. Целью данного API было обеспечение машинно-независимого интерфейса, позволявшего инструментам для разработки кода вносит изменения в код вне зависимости от платформы или архитектуры процессора.
Поддержка и дальнейшее развитие
В рамках поддержки и развития данного проекта в Университете Мэриленда регулярно проходят различные форумы, собрания, объявляются недели, посвященные проекту (например, в апреле 2009 года проходила Dyninst/Paradyn Week 2009). Кроме того, постоянно ведется тестирование API на предмет нахождения ошибок, а результаты публикуются на официальном сайте проекта.
См. также
Примечания
Ссылки
ПО | Это незавершённая статья о программном обеспечении. Вы можете помочь проекту, исправив и дополнив её. |
Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....