- 締切済み
Linuxでexit()をフックするには?
glib内のある関数のパフォーマンスを調べるために、 ログを埋め込もうとしています。 手法としては、あらかじめメモリ領域を確保しておき、 glibc内でメモリ上にログを吐き出し、 glicを使用するアプリケーション終了時(exitシステムコール実行時)に、 ログを出力しようと思います。 そこで質問なのですが、 Linuxのglibc(2.3.3)でexit()をフックして、 自前の関数を呼び出す方法はありますか? ご存知なら教えてください。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- beefisdead
- ベストアンサー率63% (92/145)
回答No.2
フックではなく、終了時に呼び出される関数を指定することになりますが、 __attribute__((destructor)) が使えるかも知れません。 gcc拡張だったと思いますが、正常終了する限りにおいては呼び出されるはずです。 ご希望に合うかは分かりませんが、一応。
- salsberry
- ベストアンサー率69% (495/711)
回答No.1
atexit()では不足でしょうか?