VALGRIND 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.
VALGRIND examples are available in a C version and a C++ version and a FORTRAN77 version. a FORTRAN90 version.
GDB, FORTRAN90 programs which illustrate the use of the GNU debugger program on a FORTRAN90 program;
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.