タグ

2009年5月10日のブックマーク (1件)

  • ダンプを読めば世界がみえる - 神様なんて信じない僕らのために

    dlmallocを読み下し中。 何をしているかは大体解った。 メモリブロックに対して何かを行おうとするプログラムを読み解くとき、 メモリダンプを眺めるということが、 非常に有効だと思った。 プログラムの、メモリの海を見るために必要なのはやはりメモリダンプだ。 メモリをeeとかffとか適当な値で埋めておいて、 ある関数をコールして、 戻ってきたら海を眺める。 そうすると、海には着実な変化が訪れている。 こいつはサイズ(インテジャ)だな、 こいつはアドレスだな。 色んなことがそこには見える。 dlmallocの何が素敵かって、 メモリブロックサイズが4の倍数であることに目を付けて、 0ビット目には一つ前のチャンクの情報の有無を、 1ビット目には使用か未使用かのフラグを設けたことだ。 これはRubyの実装などでも行っていることだけれど、 こうしたことに気が付く人たちは当に凄い、と思う。 ドキド

    ダンプを読めば世界がみえる - 神様なんて信じない僕らのために