• 締切済み

Linuxでexit()をフックするには?

glib内のある関数のパフォーマンスを調べるために、 ログを埋め込もうとしています。 手法としては、あらかじめメモリ領域を確保しておき、 glibc内でメモリ上にログを吐き出し、 glicを使用するアプリケーション終了時(exitシステムコール実行時)に、 ログを出力しようと思います。 そこで質問なのですが、 Linuxのglibc(2.3.3)でexit()をフックして、 自前の関数を呼び出す方法はありますか? ご存知なら教えてください。

みんなの回答

回答No.2

フックではなく、終了時に呼び出される関数を指定することになりますが、 __attribute__((destructor)) が使えるかも知れません。 gcc拡張だったと思いますが、正常終了する限りにおいては呼び出されるはずです。 ご希望に合うかは分かりませんが、一応。

  • salsberry
  • ベストアンサー率69% (495/711)
回答No.1

atexit()では不足でしょうか?

参考URL:
http://www.linux.or.jp/JM/html/LDP_man-pages/man3/atexit.3.html

関連するQ&A