web-dev-qa-db-ja.com

ライブラリ呼び出しのstrace

システムコールを監視するのに非常に便利なstraceを知っています。外部ライブラリへの呼び出しを追跡できる同等のものはありますか?

たとえば、コードにアクセスできないサードパーティのバイナリを使用して、SSLeayの不正な動作をデバッグしようとしています(開発者が応答しません)。私は問題を釘付けにしたと思いますが、SSLeayに送信するために署名チェックされているデータがどのようにフォーマットされているかを正確に確認しないと、これをテストすることはできません。

14
draeath

ltrace-ライブラリ呼び出しトレーサー。

これは、Linuxおよびアーキテクチャの小さなサブセットでのみ機能します。 dlopen()されたライブラリーへの呼び出しはトレースされません。 manページと/etc/ltrace.confからのさらなるポインタ

12
Nikhil Mulley

ltrace が機能することもあります。一般に、これは [〜#〜] gdb [〜#〜] などのデバッガーを必要とします。逆アセンブリ(objdump -d /path/to/executable)の呼び出し構造を見ると、トレースポイントまたはブレークポイントを配置する関数を理解できます。