Valgrind
From Cppwiki
Valgrind is a suite of tools for profiling software:
- Memcheck detects memory issues (leaks, accessing invalid memory, deallocating memory more than once, etc.)
- Cachegrind profiles CPU cache misses, a possible optimization opportunity
- Callgrind is an extension to Cachegrind with more information
- Massif profiles memory heaps for performance issues
- Helgrind detects multithreading race conditions