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.
aout/ ChangeLog adobe.h aout64.h ar.h dynix3.h encap.h host.h hp.h hp300hpux.h hppa.h ranlib.h reloc.h stab.def stab_gnu.h sun4.h coff/ ChangeLog ChangeLog-9103 alpha.h apollo.h arm.h aux-coff.h ecoff.h external.h go32exe.h h8300.h h8500.h i386.h i860.h i960.h ia64.h internal.h m68k.h m88k.h maxq.h mcore.h mips.h mipspe.h or32.h pe.h powerpc.h rs6000.h rs6k64.h sh.h sparc.h sym.h symconst.h ti.h tic30.h tic4x.h tic54x.h tic80.h w65.h we32k.h x86_64.h xcoff.h z80.h z8k.h elf/ ChangeLog ChangeLog-9103 alpha.h arc.h arm.h avr.h bfin.h common.h gdb/ nlm/ opcode/ COPYING ChangeLog ChangeLog-9103 MAINTAINERS alloca-conf.h ansidecl.h bfdlink.h bin-bugs.h bout.h demangle.h dis-asm.h dyn-string.h fibheap.h filenames.h floatformat.h fnmatch.h fopen-bin.h fopen-same.h fopen-vms.h gdbm.h getopt.h hashtab.h hp-symtab.h ieee.h libiberty.h md5.h oasys.h objalloc.h obstack.h os9k.h partition.h progress.h safe-ctype.h sort.h splay-tree.h symcat.h ternary.h xregex.h xregex2.h xtensa-config.h xtensa-isa-internal.h xtensa-isa.h