ccmalloc is a memory profiler that detects memory leaks, detects multiple deallocation of same data, detects under writes and over writes, detects writes to already deallocated data, and provides allocation and deallocation statistics. If a program is compiled using the ccmalloc library, it generates a log file after execute that details all memory leaks including the call stack for the offending (leaking) allocation.