この本の「#77 関数へのenter/exitをフックする」で、GCCのコンパイルオプション-finstrument-functionsを使い、関数が呼び出された時、関数から復帰するときにフックを入れる方法が紹介されています。これはコンパイルオプションで埋め込むものですが、同書に「もう1つのフック方法(LD_AUDIT)」というものがあることだけ参考紹介されています。LD_AUDITの方法だと、PLT経由(動的リンク用に作られた)の関数ならばコンパイルし直すことなくフックすることができます。 このLD_AUDITの方法を少し実験してみます。 サンプルを探して LD_AUDITを使う方法は、インターネット上にわずかしか情報を見つけることができませんでした。以下情報源とコメントです。 http://docs.sun.com/app/docs/doc/819-0391/chapter6-1242