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.
include/ gdblog.h gdbloop.h gdbsched.h gdbserv-client.h gdbserv-input.h gdbserv-log.h gdbserv-output.h gdbserv-target.h gdbserv-utils.h gdbserv.h gdbsocket.h stdio-log.h lib/ ARCH Makefile.am Makefile.in crc32.c crc32.h gdblog.c gdbloop.c gdbsched.c gdbserv-input.c gdbserv-log.c gdbserv-output.c gdbserv-state.c gdbserv-state.h gdbserv-target.c gdbserv-utils.c gdbsocket.c stdio-log.c qe/ Makefile.am Makefile.in README inc-backwards.c inc-forward.c inc-gdblog.c inc-gdbloop.c inc-gdbsched.c inc-gdbserv-client.c inc-gdbserv-input.c inc-gdbserv-log.c inc-gdbserv-output.c inc-gdbserv-target.c inc-gdbserv-utils.c inc-gdbserv.c inc-gdbsocket.c inc-stdio-log.c qe.c samples/ Makefile.am Makefile.in async.c demo-target.c demo-target.h main.c poll.c thread.c unix/ ChangeLog Makefile.am Makefile.in acinclude.m4 aclocal.m4 arch.h config.in configure configure.in diagnostics.c diagnostics.h dummy-target.c gdb_proc_service.h gdbserv-thread-db.h linux-target.c lwp-ctrl.h lwp-pool.c lwp-pool.h no-threads.c ptrace-target.c ptrace-target.h server.c server.h solaris-target.c stock-breakpoints.c stock-breakpoints.h thread-db.c win32/ ChangeLog Makefile.am Makefile.in aclocal.m4 child_process.cc config.in configure configure.in server.cc server.h stamp-h.in win32-strace.cc win32-target.cc ChangeLog HOWTO MAINTAINERS Makefile.am Makefile.in NEWS README REMOTE-HACK-RULES acinclude.m4 aclocal.m4 config.in configure configure.in stamp-h.in