c89 gdb FAQ valgrind unit tests