auto generator functions for hook by LD_PRELOAD
you can generate functions from only symbol names (without arg infos)
for x86_64
only
run build command at test directory
cp test/libtrace_test .
./auto_gen.sh
LD_LIBRARY_PATH=. ./libtrace_test
LD_LIBRARY_PATH=. LD_PRELOAD=./libauto_gen.so ./libtrace_test
test
のディレクトリで手動でプログラムを変更して検証し,OKと判断したら,テンプレートの方にそれを反映し,自動生成できるようにする
nm
でシンボル情報が取れない場合はobjdump -R
でシンボル情報がとれる
- post call hook対応
- フックした関数の実行時間取得
- ログ出力
- 関数呼び出しのindent
- TID
- シンボルの変数と関数の区別をする方法の調査
ltrace
ではLD_PRELOAD
ではなくptrace
を利用しているため仕組みが異なるplt
を利用しないバインド方法ではltrace
ではトレースができない(e.g. rustバイナリのmalloc
)
ltrace
コマンドが存在しない環境でも利用可能