Аналог Dependency Walker в Linux
От: AlexGin Беларусь  
Дата: 07.09.18 06:38
Оценка:
Доброе время суток, уважаемые коллеги!

Хотел узнать насчёт утилиты, показывающей зависимости исполнимого файла от динамических библиотек.
Для OS Windows — это:
http://www.dependencywalker.com

Для Linux попытки гугления нажлдят прежде всего это:
1) binscanhttps://sourceforge.net/projects/binscan
2) ELF Library Viewerhttps://www.purinchu.net/software/elflibviewer.php

В общем, как я понимаю, и тот и другой показывает *.so файлы (анлог *.dll файлов для винды).

Что предпочтительнее для Ubuntu/Debian?
Возможно, есть ещё популярные утилиты подобного плана, но я их (пока) не обнаружил?
Re: Аналог Dependency Walker в Linux
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 07.09.18 06:45
Оценка: 4 (1) +3
Здравствуйте, AlexGin, Вы писали:

AG>Доброе время суток, уважаемые коллеги!


AG>Хотел узнать насчёт утилиты, показывающей зависимости исполнимого файла от динамических библиотек.


Что оно должно делать сверх того, что умеет ldd $file и objdump -x $file | grep -w NEEDED
?
The God is real, unless declared integer.
Re[2]: Аналог Dependency Walker в Linux
От: AlexGin Беларусь  
Дата: 07.09.18 06:57
Оценка:
Здравствуйте, netch80, Вы писали:

N>Здравствуйте, AlexGin, Вы писали:


AG>>Доброе время суток, уважаемые коллеги!


AG>>Хотел узнать насчёт утилиты, показывающей зависимости исполнимого файла от динамических библиотек.


N>Что оно должно делать сверх того, что умеет ldd $file и objdump -x $file | grep -w NEEDED

N>?

LDD — это, я так понял, оно:
https://linux.die.net/man/1/ldd
http://man7.org/linux/man-pages/man1/ldd.1.html

Objdump:
https://www.systutorials.com/docs/linux/man/1-objdump
https://www.thegeekstuff.com/2012/09/objdump-examples

Вероятно, Objdump — это нечто иное? Или нет?

P.S. Вопрос "Что оно должно делать сверх того, что умеет ldd?" — пока мне не очевиден.
Собираюсь попробовать, поэкспериментировать со всеми этими приложениями, тогда (возможно) и прояснится
Re: Аналог Dependency Walker в Linux
От: Zhendos  
Дата: 07.09.18 08:35
Оценка: 4 (1) +1
Здравствуйте, AlexGin, Вы писали:

AG>Доброе время суток, уважаемые коллеги!


AG>Хотел узнать насчёт утилиты, показывающей зависимости исполнимого файла от динамических библиотек.


ldd стандартная утилита для этого, обычно она уже установлена,
так как она часть glibc. Для кросскомпилированных бинарников она не подходит,
поэтому вместо нее можно использовать более универсальные инструменты objdump/readelf
из пакета binutils.


AG>Для Linux попытки гугления нажлдят прежде всего это:

AG>1) binscanhttps://sourceforge.net/projects/binscan
AG>2) ELF Library Viewerhttps://www.purinchu.net/software/elflibviewer.php

Никогда о них не слышал за 15 лет разработки по Linux.
Re[2]: Аналог Dependency Walker в Linux
От: AlexGin Беларусь  
Дата: 07.09.18 11:25
Оценка:
Здравствуйте, уважаемый Zhendos, Вы писали:

Z>ldd стандартная утилита для этого, обычно она уже установлена,

Z>так как она часть glibc. Для кросскомпилированных бинарников она не подходит,
Z>поэтому вместо нее можно использовать более универсальные инструменты objdump/readelf
Z>из пакета binutils.

Что значит: кросскомпилированный бинарник?
Если можно — пожалуйста по-подробнее...

Z>Никогда о них не слышал за 15 лет разработки по Linux.


Вот здесь:
https://stackoverflow.com/questions/6977298/dependency-walker-equivalent-for-linux
Отредактировано 07.09.2018 11:29 AlexGin . Предыдущая версия .
Re[3]: Аналог Dependency Walker в Linux
От: Zhendos  
Дата: 07.09.18 11:33
Оценка: 2 (1)
Здравствуйте, AlexGin, Вы писали:

AG>Здравствуйте, уважаемый Zhendos, Вы писали:


Z>>ldd стандартная утилита для этого, обычно она уже установлена,

Z>>так как она часть glibc. Для кросскомпилированных бинарников она не подходит,
Z>>поэтому вместо нее можно использовать более универсальные инструменты objdump/readelf
Z>>из пакета binutils.

AG>Что значит: кросскомпилированный бинарник?

AG>Если можно — пожалуйста по-подробнее...

Ну например у собранного для процессора с архитектурой mips elf
файла нельзя увидеть зависимости с помощью ldd входящего в состав glibc
собранного для amd64.

Z>>Никогда о них не слышал за 15 лет разработки по Linux.


AG>Вот здесь:

AG>https://stackoverflow.com/questions/6977298/dependency-walker-equivalent-for-linux

А это к тому, что все остальные утилиты очень непопулярны,
а значит возможны все возможные баги.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.