Как отследить, какие библиотеки загружаются приложением динамически? - PullRequest
3 голосов
/ 24 сентября 2010

У меня есть приложение (для которого у меня нет исходного кода).

Я знаю, что он предназначен для динамической загрузки общей библиотеки в зависимости от параметров командной строки.

Я знаю, какую библиотеку она должна загружать, и я настроил LD_LIBRARY_PATH для соответствующего каталога.

Приложение работает на одном сервере без проблем, но не работает на другом.

Я пытаюсь выяснить, почему, и было бы полезно, если бы я мог подтвердить, что скрипт ищет библиотеку, которую я считаю, и могу ли я отследить, где она ищет.

Существуют ли какие-либо инструменты, которые могут мне помочь? Я гуглил, но большая часть информации, которую я нахожу, касается ldd, которая на самом деле говорит вам только о статически связанных библиотеках.

Это в среде Linux, и приложение, и библиотека написаны на C

Спасибо

Ответы [ 2 ]

3 голосов
/ 24 сентября 2010

Используйте strace.Вы увидите поиск библиотек и т. Д., Которые помогут вам понять, что происходит.

0 голосов
/ 24 сентября 2010

Поскольку каждая общая библиотека отображается в памяти в адресное пространство процесса, вы также можете проверить файл / proc / [PID] / maps.

...