failmalloc

http://www.nongnu.org/failmalloc/

メモリ関連のデバッグ用ライブラリ.failmalloc を使うと,malloc()がNULLを返した場合にプログラムが正常に処理を継続できるか調査できる.なんとも恐ろしい発想をする方がいらっしゃるものだということで,日記に書いてみました.

具体的には,failmalloc をリンクしたプログラムは mallocがランダム(またはある周期で)にNULLを返すようになる.malloc()が常に非NULLを返すことを期待して実装されたプログラムはこのライブラリをリンクするとクラッシュ(おもにSegmentation fault)する筈なので,failmallocを使うとメモリ関連のバグが見つけやすくなる・・・という作戦みたい.