C++ Examples of the VALGRIND Memory Leak Detector

VALGRIND_TEST is a directory of C++ programs which illustrate the use of VALGRIND, a suite of programs which includes a memory leak detector.

The simplest way to use VALGRIND on a program that is suspected of having memory leaks is to compile with the "-g" option, and then issue the VALGRIND command followed by the normal execution command:

        g++ -g myprog.C
        mv a.out myprog
        valgrind ./myprog

On a Macintosh, it is necessary to include a particular switch that generates the necessary symbol tables in order that VALGRIND can report line numbers.

        valgrind --dsymutil=yes myprog

Essentially, VALGRIND runs the program, but constantly watches to detect illegal memory references, and prints messages when these are spotted.


The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.


VALGRIND_TEST is available in a C version and a C++ version and a FORTRAN90 version.

Related Data and Programs:

GDB, FORTRAN90 programs which illustrate the use of the GNU debugger program on a FORTRAN90 program;


  1. Julian Seward, et al,
    Valgrind Documentation.

Examples and Tests:

TEST01 is an example in which 11 elements of the Fibonacci sequence are stored in a vector allocated only for 10 elements:

TEST02 is an example in which some uninitialized data is accessed.

You can go up one level to the C++ source codes.

Last revised on 19 May 2011.