追記:あとで分かったことがあったので一部書き直しました。 今日ひょんなことから XCode Tools の一部で /Developer/Applications/Performance Tools にある MallocDebug.app を使ってみた。 これ、便利すぎ。valgrind がないというだけで Mac OS X の開発は気が重かったけど、大体は要求をカバーしてくれそうだ。 ただ、このツールはGUIアプリのようにセッションが長いプログラムのデバッグ用に作られたようで、ターゲットが終了してしまうとそれまでの情報がすべて失われてしまうので、コンソールで動くちょっとしたアプリなどでは使い物にならない。 そこで、exit() で停止させることを考えて、GDB からターゲットを起動し、 set environ DYLD_INSERT_LIBRARIES=libMallocDebug.A.d