CとC ++でコーディングされたCent OS 5.8で実行される複雑なマルチスレッドアプリケーションがあります。
私は〜を探しています関数追跡次のタスクを実行するのに役立つツールです。
各スレッドのすべての外部および内部関数情報(関数名、入力および出力パラメーター)をバッファーに追跡します。
バッファを保存するための設定必要ディスクに。
構成の提供オンオフ各プロセスを追跡します。
構成の提供オンオフ各プロセス/スレッドの内部機能です。
答え1
そのようなツールがあるかどうかはわかりませんが、比較的簡単にこれを行うことができる2つの方法を考えることができます。
- GDBスクリプトの作成(スレッド別ブレークポイント、破棄ではなく記録する、等。 )
- 追跡したい関数をオーバーライドする関数を作成します
LD_PRELOAD library
(例:malloc
//realloc
オーバーライドfree
ここ)と使用リベンウィンドコールスタックの表示