2012-03-07 4 views
2

Я создал общую папку «mylib.so» в папке/tmp. Я хотел бы профиль mylib.so. Чтобы сделать это, я взял следующие шагиКак может sprof найти мою общую библиотеку

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

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

ответ

1

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

Смежные вопросы