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.
ChangeLog Make-common.in Makefile.in aclocal.m4 callback.c cgen-accfp.c cgen-cpu.h cgen-defs.h cgen-engine.h cgen-fpu.c cgen-fpu.h cgen-mem.h cgen-ops.h cgen-par.c cgen-par.h cgen-run.c cgen-scache.c cgen-scache.h cgen-sim.h cgen-trace.c cgen-trace.h cgen-types.h cgen-utils.c cgen.sh common.m4 config.in configure configure.ac dv-core.c dv-glue.c dv-pal.c dv-sockser.c dv-sockser.h gdbinit.in genmloop.sh gennltvals.sh gentmap.c gentvals.sh hw-alloc.c hw-alloc.h hw-base.c hw-base.h hw-device.c hw-device.h hw-events.c hw-events.h hw-handles.c hw-handles.h hw-instances.c hw-instances.h hw-main.h hw-ports.c hw-ports.h hw-properties.c hw-properties.h hw-tree.c hw-tree.h nltvals.def nrun.c run-sim.h run.1 run.c sim-abort.c sim-alu.h sim-arange.c sim-arange.h sim-assert.h sim-base.h sim-basics.h sim-bits.c sim-bits.h sim-config.c sim-config.h sim-core.c sim-core.h sim-cpu.c sim-cpu.h sim-endian.c sim-endian.h sim-engine.c sim-engine.h sim-events.c sim-events.h sim-fpu.c sim-fpu.h sim-hload.c sim-hrw.c sim-hw.c sim-hw.h sim-info.c sim-inline.c sim-inline.h sim-io.c sim-io.h sim-load.c sim-memopt.c sim-memopt.h sim-model.c sim-model.h sim-module.c sim-module.h sim-n-bits.h sim-n-core.h sim-n-endian.h sim-options.c sim-options.h