DUMA (Detect Unintended Memory Access) stops your program on the exact instruction that overruns (or underruns) a malloc() memory buffer. GDB will then display the source-code line that causes the bug. It works by using the virtual-memory hardware to create a red-zone at the border of each buffer: touch that, and your program stops. It can catch formerly impossible-to-catch overrun bugs. DUMA is a fork of Bruce Perens' Electric Fence library.
License: GNU General Public License (GPL)
Changes:
The switch DUMA_ALLOW_MALLOC_0 has been removed. The switches DUMA_MALLOC_0_STRATEGY and DUMA_NEW_0_STRATEGY have been added, and now the allocator for size zero is ANSI/C++ standard compliant. Most compiler warnings have been removed. A suggestion for ~/.gdbinit and a hint on mprotectFailed() have been added. The README has been updated.
More...