If you ever need to run C Code in a Java VM, have a look at NestedVM. It’s a MIPS CPU emulator. All you need is a GCC cross compiler, then you can compile your C sources to MIPS assembler code and execute it with NestedVM.
Every developer has used a debugger once in a while. And sometimes, you had this “stepped once too many” problem: You ran your code too far. Since there is no way to go back, your only option was to start all over again.
A guy called “teawater” has just published a patch for GDB which does just that: It allows to reverse the program execution. Kind of an undo for the CPU registers, stack and memory. Can’t wait to see this for Java!