Projects / Valgrind

Valgrind

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
Licenses
Operating Systems
Implementation

Recent releases

  •  10 Oct 2012 00:07

    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.

    •  03 May 2012 17:33

      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).

      •  25 Nov 2010 16:25

        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).

        •  28 Sep 2009 06:33

          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.

          •  13 Mar 2009 17:38

            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.

            Recent comments

            08 Jan 2004 06:20 kodgehopper

            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 dwtrusty

            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 asah

            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 sin281

            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 xroche

            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.

            Screenshot

            Project Spotlight

            OpenStack4j

            A Fluent OpenStack client API for Java.

            Screenshot

            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.