Вы не говорите, для какой ОС, но в Linux вы сможете выяснить, какой именно файл был загружен для данной библиотеки, проверив / proc // maps.Например, если я хочу знать, какой файл использовался для предоставления libncurses.so для моей оболочки, я мог бы сделать:
$ cat /proc/$$/maps | grep ncurses
, который выводит меня как:
7f25ab1e4000-7f25ab224000 r-xp 00000000 08:01 6029412 /lib/libncurses.so.5.7
7f25ab224000-7f25ab423000 ---p 00040000 08:01 6029412 /lib/libncurses.so.5.7
7f25ab423000-7f25ab427000 r--p 0003f000 08:01 6029412 /lib/libncurses.so.5.7
7f25ab427000-7f25ab428000 rw-p 00043000 08:01 6029412 /lib/libncurses.so.5.7
Так что теперьЯ знаю, что ncurses.so был удовлетворен /lib/libncurses.so.5.7
. Для вашего процесса просто замените «$$» на PID вашего работающего процесса.Другие UNIX-подобные операционные системы обычно имеют интерфейс / proc или системный инструмент, который может предоставить вам эту информацию о запущенном процессе.Например, в Solaris команда 'pldd' может показать вам эквивалент вывода ldd, но для любого запущенного процесса.