GCデバッグに使ったらいいんですよ。
ゴミ見つけたらタイーホ

ゴミを見つけるくらいならC言語でもできる!!(glibc依存だけど)

#include <stdlib.h>
#include <mcheck.h>

int main()
{
  char *ptr;
  mtrace();
  ptr =malloc( 1 );
  free( ptr );
  ptr =malloc( 1 );
  ptr =malloc( 2 );
  ptr =malloc( 3 );
  muntrace();
  return 0;
}

こんな感じにして、

$ export MALLOC_TRACE=log
$ ./nanika
$ mtrace ./nanika log

Memory not freed:
-----------------
   Address     Size     Caller
0x0804a3c8      0x1  at /home/wo/test/malloc.c:10
0x0804a3d8      0x2  at /home/wo/test/malloc.c:11
0x0804a3e8      0x3  at /home/wo/test/malloc.c:12

まず、MALLOC_TRACEで、mallocログの出力先を指定。
んで、プログラム実行。ここで、ログが出力。あとは、mtraceでログ観賞。


こういうふうに、ツールやライブラリを駆使して色々やる楽しみっていうのは、GC無し言語だと味わえないとかいう話なんです。昨日のは。あまり健康的ではないとわかってるんだけど。


あと、まあ、
http://www-06.ibm.com/jp/developerworks/java/051104/j_j-jtp09275.shtml
こんな時代にGC無しにこだわるというのは頭のイタい人のすることだ、という意見はもっともなんだとは思うんだけど、たとえば、全てのアプリケーションが、Javaでーあー、時間が無い。会社行かないと。返ったら書きます。そんなに長くないんだけど。スワップスワップがあるんだ!!Javaには。メモリ使いすぎ。起動遅い。