1) You hit a breakpoint
2) Hit record
3) Step through as usual
4) Hit stop recording
5) Hit a breakpoint on the same line
6) Choose Side-By-Side run
7) Debug as usual, changing whatever values you want
The difference here being that you have two sets of values visible for each variable you come across, one from the previous run, and one live set.
It wouldn't need to run program twice, just record the states. If line-by-line recording is too inefficient, maybe each breakpoint becomes a snapshot?
Customer support service by UserEcho