Valgrind is a tool that helps you find memory management problems in programs. When a program is run under Valgrind's supervision, all reads and writes of memory are checked, and calls to malloc/new/free/delete are intercepted. As a result, Valgrind can detect problems such as use of uninitialized memory, reading/writing of memory after it has been freed, reading/writing off the end of malloced blocks, reading/writing inappropriate areas on the stack, memory leaks in which pointers to malloced blocks are lost forever, passing of uninitialized and/or unaddressable memory to system calls, and mismatched use of malloc/new/new [] vs. free/delete/delete [].
| Tags | Software Development Testing |
|---|---|
| Licenses | GPL |
| Operating Systems | POSIX Linux |
| Implementation | C++ |


Release Notes: This is a bugfix release. It fixes some assertion failures in 3.8.0 that occurred moderately frequently in real use cases, adds support for some missing instructions on ARM, and fixes a deadlock condition on Mac OS X.


Release Notes: This release adds support for ARM/Android, S390X/Linux, and Mac OS X 10.7 (Lion). A GDB server has been added, so you can now control your application from inside GDB while it runs on Valgrind. There have been performance and functionality improvements for Helgrind, DRD, Memcheck, and exp-Sgcheck. The tool formerly known as exp-Ptrcheck has been renamed to exp-SGCheck. This release supports X86/Linux, AMD64/Linux, ARM/Linux, PPC32/Linux, PPC64/Linux, S390X/Linux, ARM/Android (2.3.x), X86/Darwin, and AMD64/Darwin (Mac OS X 10.6 and 10.7).


Release Notes: This is a feature release with many significant improvements and the usual collection of bug fixes. The main improvement is that Valgrind now works on ARM/Linux and on Mac OS X 10.6 (Snow Leopard).


Release Notes: Improvements and simplifications of the leak checker. Clarification and simplifications of text output. Helgrind and Ptrcheck now give XML output. Helgrind and DRD have improved stability and performance. Genuinely atomic support for x86/amd64/ppc atomic instructions. A new experimental tool, BBV, useful for computer architecture research. Support for Mac OS X. Improved Wine support, including ability to read Windows PDB debuginfo.


Release Notes: This release fixes some regressions and assertion failures in debug info reading in 3.4.0, most notably incorrect stack traces on amd64-linux on older (glibc-2.3 based) systems. Various other debug info problems are also fixed. A number of bugs in the exp-ptrcheck tool introduced in 3.4.0 have been fixed. In view of the fact that 3.4.0 contains user-visible regressions relative to 3.3.x, upgrading to 3.4.1 is recommended. Packagers are encouraged to ship 3.4.1 in preference to 3.4.0.
08 Jan 2004 06:20
Just Awesome
There's just no other way to describe it.
This program is an absolute must for any C/C++ developer. My compliments to the developers, you've really done an outstanding job.
And thanks for saving me from a long day of bug tracking.
07 Jan 2003 12:01
I like it a lot. Any plans for stack variable checking?
I like this tool a lot!
Are there any plans for checking stack variables?
For example:
int arr[10];
arr[11] = ...;
David
10 Oct 2002 21:42
valgrind is my new favorite toy!
We love valgrind at Addamark, and have already
spread the religion throughout our development
process. It's *way better* than Purify ever was,
(a) fewer false-positives and (b) easier to run,
i.e. don't have to 'purify' the executable.
Julian,Nick-- hats off!! and btw I love the ideas
behind the nextgen architecture.
25 Aug 2002 02:02
great tool!
Valgrind is an excellent memory debugging tool. I
have used it effectively to squish a memory leak
where many others had failed. Excellent work,
developers! This software is a godsend to any
programmer.
15 Aug 2002 05:17
Excellent tool
Wow, at last we have an efficient memory leak debugger on Linux/i386! Thanks for this tool, which is the only way to cleanup complex code, detect leaks/buffer overflows and unitialized areas.
For information, similar tools (like purify) are rare, and generally costs thousands of dollars.