gldd

Author / Автор: Сергей Сацкий
NCBI
Publication date / Опубликовано: 23-Nov-2009
Version / Версия текста: 1.1

Что такое gldd

Утилита gldd предназначена для графического представления зависимостей *.so и исполняемых файлов на Linux. gldd была разработана на Linux дистрибутиве, хотя может оказаться, что она заработает на MAC OS, Free BSD и / или на других UNIX системах. Если вам удастся запустить gldd на вашей системе, напишите мне электронное письмо, и я обновлю эту страничку.

gldd написана на python и использует несколько других программных пакетов (см. главу Зависимости).

gldd распространяется как public domain программное обеспечение.

Снимки экранов

Зависимости libncurses

Зависимости vi

Основная функциональность gldd:

  • Графическое отображение зависимостей для *.so и исполняемых файлов
  • Показ или подавление полных путей к файлам
  • Включение или исключение из иерархии псевдо библиотеки linux-gate.so
  • Отображение неразрешенных зависимостей красным цветом
  • Поддержка масштабирования графа
  • Поддержка запуска различных утилит (file, strings, readlef, objdump and nm) для каждой библиотеки (за исключением linux-gate.so) через контекстное меню
  • Преобразование графа зависимостей в картинку (PNG)

Часть функциональности, включая перечисленную, еще не реализована:

  • Печать графа зависимостей
  • Двойной щелчок на значке библиотеки для показа зависимостей, начиная с выбранной библиотеки как с корня иерархии

Зависимости

gldd использует следующие пакеты:

Утилиты, которые вызываются через контекстное меню, также должны быть доступны через переменную PATH. Утилиты включают:

  • file
  • strings
  • readelf
  • objdump
  • nm

Установка и запуск

gldd не требует никакой специальной установки. Просто скопируйте файлы gldd и папку с иконками в то место, где вы хотите их хранить.

Может быть имеет смысл подправить и переменную PATH соответствующим образом.

gldd тестировалась сначала на Fedora 10, а потом на Fedora 11.

Чтобы запустить gldd, наберите:

cd <where gldd scripts are located>
./gldd <elf file name>

или

./gldd

и потом выберите файл с помощью GUI.

Например:

./gldd /bin/vi

Чтобы получить справку, наберите:

./gldd --help

Скачать

Версия 0.1.1

gldd-0.1.1.tar.bz2 (47041 байт)

Changelog (23-Nov-2009):

  • linux-vdso.so is supported as well as linux-gate.so
  • Fix: implementation of the settings singleton
  • Export to PNG is implemented

Версия 0.1.0

gldd-0.1.0.tar.bz2 (47150 байт)

Changelog (28-Jun-2009):

  • first public release

Послесловие

gldd разрабатывалась для развлечения, хотя преследовались и побочные цели:

  • изучить программирование на python
  • изучить как программировать на python приложения с графическим интерфейсом (для этих целей была выбрана библиотека pyQt)
  • лишний раз доказать, что совсем немного связывающего кода и несколько уже готовых хорошо спроектированных пакетов программного обеспечения, могут принести новое качество программного продукта на рабочий стол разработчика

Если вам понравилась утилита gldd и вы хотите помочь ее улучшить – добро пожаловать!


Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.

Разрешается копирование и распространение этой статьи любым способом без внесения изменений, при условии, что это разрешение сохраняется.
Last Updated: November 23, 2009