GDB, the GNU Project debugger, allows you to see what is going on `inside' another program while it executes -- or what another program was doing at the moment it crashed.
config/ testsuite/ COPYING.LIB ChangeLog Makefile.in README _doprnt.c aclocal.m4 alloca.c argv.c asprintf.c at-file.texi atexit.c basename.c bcmp.c bcopy.c bsearch.c bzero.c calloc.c choose-temp.c clock.c concat.c config.h-vms config.in configure configure.ac copying-lib.texi copysign.c cp-demangle.c cp-demangle.h cp-demint.c cplus-dem.c dyn-string.c fdmatch.c ffs.c fibheap.c floatformat.c fnmatch.c fnmatch.txh fopen_unlocked.c functions.texi gather-docs getcwd.c getopt.c getopt1.c getpagesize.c getpwd.c getruntime.c gettimeofday.c hashtab.c hex.c index.c insque.c lbasename.c libiberty.texi lrealpath.c maint-tool make-relative-prefix.c make-temp-file.c makefile.vms md5.c memchr.c memcmp.c memcpy.c memmove.c mempcpy.c memset.c mkstemps.c msdos.c objalloc.c obstack.c obstacks.texi partition.c pex-common.c pex-common.h pex-djgpp.c pex-msdos.c pex-one.c pex-unix.c pex-win32.c pexecute.c pexecute.txh physmem.c putenv.c random.c regex.c rename.c rindex.c safe-ctype.c setenv.c sigsetmask.c snprintf.c sort.c spaces.c splay-tree.c stpcpy.c stpncpy.c strcasecmp.c strchr.c strdup.c strerror.c strncasecmp.c strncmp.c strndup.c strrchr.c strsignal.c strstr.c strtod.c strtol.c strtoul.c