Как можно найти мою общую библиотеку?

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

  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 Enterprise Linux 5.0.

1 ответ

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

Другие вопросы по тегам