ユーザプログラムの関数トレーサを作りなおした
サマリ
ここやらここや ここで解説されている ユーザプログラムの関数トレーサftraceを手直しして、少し機能追加しました。 もとのftraceだと名前がまぎらわしいのと、2011年で開発が止まっているっぽかったので、 uftrace(Userspaceのu)と名前を変えて公開しました。 github.com
ちなみに、ftraceの開発者hamanoさんのレポジトリはこれ。 github.com
ビルド方法
テンプレ的な方法でいけます。autotoolsはまだ勉強途上でよくわからない・・・
$ git clone https://github.com/bisco/uftrace.git $ cd uftrace $ ./configure $ make $ sudo make install
使い方
gccのオプション-g -finstrument-functions
をつけてビルドしなおしたあと、
こんな感じで使えます。
$ uftrace <your_program> <your_program_args>
追加した機能たち
細々追加しましたが、いちばんの目玉はフィルタ機能。 大きなプログラムだといろいろ出すぎて困るので作りました。
- ファイル名と行数を表示(ftrace-0.90から手直しして復活)
- 関数から出た時に情報を出力(ftrace-0.90から手直しして復活)
- フィルター機能:正規表現でパターンを指定。マッチしたパターンを出力"しない"。