Electric Fence(efence)は、malloc()のメモリバッファでオーバーラン(またはアンダーラン)を正確に起こす命令であなたのプログラムを停止します。。続いてGDBはバグを起こすソースコード行を表示します。仮想メモリのハードウェアを使用して各バッファの境界にレッドゾーンを作成し、それにタッチし、あなたのプログラムが停止します。長年にわたってあなたを悩ませている、これらの以前は捕捉不可能だった全てのオーバーランのバグをキャッチします。
The main focus of this release is better
portability. A standardized strerror() is now
used. An error which occurred when
EF_NO_LEAKDETECTION was defined was fixed.
Allocations from standard libraries are marked
before ef_init() is called to allow special
treatment in leak-checking. The default in eftest
was changed to use two signals at once: SIGSEGV
and SIGBUS. Alignments bigger than page size are
now allowed for memalign(). The EF_EXPLICIT_INIT
preprocessor flag was added to work around buggy
environments. Environment leaks are no longer
reported.