何回調べても忘れてしまうシリーズ 今回はmtraceの使い方。 mtraceというのはmallocやfreeなどのメモリ管理系の関数をHookして、メモリリークを追跡してくれる便利なライブラリ関数です。 glibc付属なので特殊なソフトのインストールが必要ないのが利点。 使い方の注意点と手は Electric Fence などのmallocを乗っ取るライブラリと共用できないこと(アタリマエだ) malloc/freeのたびにファイルに書くので結構なオーバーヘッドを伴うこと。 スレッドセーフじゃないこと(これはmallocのhookの仕組みがタコいんです) mtrace()関数を呼び出すとトレースを開始する。というセマンティクスなのでシェルなどからイマイチ使いづらい所も欠点と言える。 まあ、実例を見てください。 まず、こういうファイルを用意 mtrace_on.c ---- #include