C valgrind
From wikinotes
valgrind is a program to inspect your compiled program. Sometimes, even when your code compiles, it doesn't always work.
Basic Usage
make myfile.c -o main ## compile your program (that contains errors) valgrind main ## run compiled 'main' program, and check for errors.Valgrind reports errors as they are discovered, followed by a stacktrace. The format of valgrind is:
==15102== Conditional jump or move depends on uninitialised value(s) ==15102== at 0x50A26C7: vfprintf (in /usr/lib/libc-2.23.so) ==15102== by 0x50A9C78: printf (in /usr/lib/libc-2.23.so) ==15102== by 0x400593: main (main.c:25) ## func (srcfile:line)