oxinabox / MagneticReadHead.jl

A cassette-based debugger | The Other Debugger
MIT License
50 stars 6 forks source link

Stepping backwards in the debugger #75

Closed DilumAluthge closed 5 years ago

DilumAluthge commented 5 years ago

I've been reading a bit on how rr implements reverse execution. It seems that they first record a trace, and then they replay the trace. During the "replay" phase, you can step forwards and backwards.

Would it be possible to add this functionality to MagneticReadHead?

DilumAluthge commented 5 years ago

cc: @oxinabox @vchuravy

oxinabox commented 5 years ago

It makes going forward more expensive. Have to trigger fork every command. Then have to build tools for navigating those forks.

vchuravy commented 5 years ago

I think it would make more sense to integrate with rr and I would say this is out of scope for MRH.jl

Doing a fork at each possible execution step could be feasible, but that would be rather fragile and expensive.

DilumAluthge commented 5 years ago

It seems like working with rr (and maybe eventually having some integration between rr and Julia) is the way to go!

oxinabox commented 5 years ago

rr doesn't work on Mac, so I am unlikely to work on it.