The Valgrind distribution has multiple tools. The most popular is the memory checking tool (called Memcheck) which can detect many common memory errors such as:
*
touching memory you shouldn t (eg. overrunning heap block boundaries)
*
using values before they have been initialized
*
inco ...