strace для библиотечных звонков

14

Я знаю о strace, который очень удобен для просмотра системных вызовов. Есть ли аналог, который может отслеживать вызовы во внешние библиотеки?

Например, я пытаюсь отладить некоторые ошибки SSLeay с помощью стороннего двоичного файла, к которому у меня нет доступа к коду (и кто не отвечает на вопросы разработчика). Я полагаю, что сгладил проблему, но я не могу проверить это, не видя точно, как данные, проверенные на подпись, форматируются для отправки в SSLeay.

draeath
источник

Ответы:

12

ltrace - Библиотека трассировки вызовов.

Он работает только в Linux и в небольшом подмножестве архитектур. Вызовы библиотек dlopen () не будут отслеживаться. Дальнейшие ссылки со страницы руководства и/etc/ltrace.conf

Никхил Мулли
источник
3
Есть ли какое-либо решение для библиотек dlopen ()?
draeath
8

Иногда работает трассировка . В общем, это требует отладчика, такого как GDB . Вы можете получить представление о том, на какие функции ставить точки трассировки или точки останова, посмотрев структуру вызова в disassembly ( objdump -d /path/to/executable).

Жиль "ТАК - перестань быть злым"
источник