Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Как получить список вызываемых библиотек  (Прочитано 1060 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн badfiles

  • Автор темы
  • Участник
  • *
  • Сообщений: 230
    • Просмотр профиля
Нужно узнать, какие динамические библиотеки запрашивает программа во время работы. Как это можно сделать?

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Как получить список вызываемых библиотек
« Ответ #1 : 06 Ноября 2012, 19:38:09 »
man ldd strace

Оффлайн badfiles

  • Автор темы
  • Участник
  • *
  • Сообщений: 230
    • Просмотр профиля
Re: Как получить список вызываемых библиотек
« Ответ #2 : 06 Ноября 2012, 19:52:18 »
strace вываливает кучу нечитаемой инфы. Может быть, поможете?

Оффлайн Otto Baynes

  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
    • www.emunix.org
Re: Как получить список вызываемых библиотек
« Ответ #3 : 06 Ноября 2012, 21:24:40 »
ldd путь_к_программе

Оффлайн badfiles

  • Автор темы
  • Участник
  • *
  • Сообщений: 230
    • Просмотр профиля
Re: Как получить список вызываемых библиотек
« Ответ #4 : 07 Ноября 2012, 01:18:08 »
Это не то, надо все либы, которые вызываются в процессе работы.

Оффлайн kupamaan

  • Любитель
  • *
  • Сообщений: 52
    • Просмотр профиля
Re: Как получить список вызываемых библиотек
« Ответ #5 : 07 Ноября 2012, 07:59:08 »
dpkg -l $( dpkg -S $( ldd название_файла.sh | awk '{print $3}' ) | awk '{{sub(":"," ")} print $1}' ) > requiredpackets.txt

Оффлайн badfiles

  • Автор темы
  • Участник
  • *
  • Сообщений: 230
    • Просмотр профиля
Re: Как получить список вызываемых библиотек
« Ответ #6 : 07 Ноября 2012, 12:24:49 »
Я правильно понял, что на выходе будет список пакетов, от которых зависит исполняемый файл (почему .sh?)

Но эта задача не стоит, нужно определить, какие либы запрашивает программа при выполнении. Можно, наверное, как-то парсить strace, но я пока не пойму как. Слишком много там мусора.

Есть способ увидеть
Вызывалась *.so* (полный путь)
Вызывалась *.so* (полный путь)

 

Страница сгенерирована за 0.019 секунд. Запросов: 22.