Как можно найти мою общую библиотеку? - PullRequest
2 голосов
/ 07 марта 2012

Я создал общую библиотеку "mylib.so" в папке / tmp. Я хотел бы в профиле mylib.so. Для этого я предпринял следующие шаги

  1. экспорт LD_PROFILE_OUTPUT = $ {PWD}
  2. export LD_PROFILE = mylib.so
  3. export LD_LIBRARY_PATH = / tmp
  4. выполнить my_app, которое связано с mylib.so

После этих 4 шагов я «должен» иметь mylib.so.profile в папке / tmp. но такого файла нет. Я подозреваю, что sprof не может найти mylib.so. Как я могу сказать sprof искать mylib.so в папке / tmp? Я использую Redhat Enterprise Linux 5.0.

1 Ответ

1 голос
/ 07 марта 2012

Все вышеперечисленные действия действительны. Моя ошибка была в том, что общая библиотека называлась mylib.so.1, а не mylib.so. Я запустил ldd на my_app, и он показал, что my_app требует mylib.so.1. Затем я изменил экспорт LD_PROFILE = mylib.so.1 и все работало нормально.

...