valgrind_test


valgrind_test a C++ code which uses valgrind(), a suite of programs which includes a memory leak detector.

The simplest use 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.

Licensing:

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

Languages:

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;

Reference:

  1. Julian Seward, et al,
    Valgrind Documentation.

Source code:

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.


Last revised on 09 April 2020.