NJAMD (Not Just Another Malloc Debugger) is a malloc debugger that tries harder. It is completely threadsafe with immediate underflow and overflow detection, and features protecting already freed memory, heap persistence (for postmortem analysis) and excellent documentation. It traces all calls to malloc and free, even those wrapped in other libraries (i.e., widget allocation or C++ new and delete) back to your code. It does all this with minimal overhead, practically fast enough to be used as standard malloc, and without the need to even recompile or even relink your code.