Valgrind memory debugger 1.0.0
[Posted July 29, 2002 by cook]
Developer Julian Seward has released version 1.0.0 of the
Valgrind
memory debugger for x86-GNU/Linux with the following inspirational
note:
Programmers! Make your software Valgrind-clean. Test it with Valgrind and
fix all problems Valgrind reports. This will give you some assurance that
your code is free of a broad class of memory management errors. You may
well find undiscovered bugs, and your code will probably be more stable as
a result. It's good for your code, good for you and especially it's good
for the people who use your code.
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.
(
Log in to post comments)