Valgrind memory debugger 1.0.0
By intercepting a number of memory related system calls, Valgrind can detect the following problems:
- The use of uninitialised memory.
- Reading and writing of freed memory after it has been free'd
- Reading and writing past the end of malloced memory.
- Reading and writing of inappropriate areas on the stack.
- Memory leaks involving lost pointers to malloced blocks.
- The passing of uninitialized and/or unaddressible memory to system calls.
- The mismatched use of malloc/new/new and free/delete/delete.
- Some possible misuses of the POSIX pthreads API.
Valgrind is supposed to be able to check any dynamically-linked ELF x86 executable, without modification or recompilation, and it can fire up GDB when errors are encountered. Valgrind also has built-in cache profiling, which can be useful for enhancing the performance of code.
The current 1.0.0 release has undergone a feature-freeze testing phase
and it is considered to be stable code at this point. It has
successfully been
used to check a number of large applications such as
KDE3, Mozilla, OpenOffice, and MySQL, to name a few applications.
See the
Valgrind user manual for the full documentation.
Valgrind has been released under the GPL license.
