I remember not only running commands while debugging. I remember moving the program counter back, until a statement above my breakpoint, making live changes in the code and stepping it again until the breakpoint to see the effects of my changes without needing to restart the program.