Reversible Debugging

Dave Angel davea at
Sat Jul 4 12:09:34 EDT 2009

Steven D'Aprano wrote:
> On Sat, 04 Jul 2009 09:58:39 -0400, Dave Angel wrote:
>> Read his suggested approach more carefully.  He's not "undoing"
>> anything.  He's rolling back to the save-point, and then stepping
>> forward to the desired spot.  Except for influences outside his control
>> (eg. file system operations), this approach has to work.
> Is that anything like saying "Except for all the diseases this drug won't 
> cure, it cures everything"?
> *wink*
Yeah, pretty close.  That's the problem with speaking in concepts, 
rather than something concrete.

Somebody else brought up VM, but that has two meanings these days.  The 
sense I took it (with regard to save-point) was a program like VMWare, 
where it virtualizes the entire machine.  So any program that deals only 
with the local machine will fit that approach.  And yes, I know there 
are subtleties beyond networks and virtual networks, like time.  When 
you roll the VM back, the time magically stays current.  But for a 
program that deals only with its own process, that tends to just look 
like some other process suddenly hogged the CPU.

Now, if the snapshot is a feature of the Python VM, that's another 
matter entirely.

More information about the Python-list mailing list