Start reverse debugging immediately after record to run long running programs only once
My program takes a long time to reach a failure point which leads the process to exit.
Currently, I'm using:
rr record prog
rr replay
which does the long execution twice up to the failure point.
Is there a way to start reverse debugging from the point it exits immediately after the rr record prog so I don't have to wait twice?
Possibly related to: https://github.com/mozilla/rr/issues/1989 At the limit this could be implemented by periodically snapshotting the running program.
EDIT: or even better: start the program in a reverse-recorde enabled GDB shell like UndoDB does.
There is no way to do that right now. Something could be implemented, but it would be a fair bit of work.
@rocallahan do you have any system to sponsor features? If I had a price and time estimates I could compare with UndoDB costs and try to make a case with my managers.
Thanks for the offer but I'm not in a position to do that right now.
If you find someone else to do the work I can give some guidance.
Calling from 2024. Is this feature supported now?
There is a PR to add persistent checkpoints, which is the first step towards this feature. But there's still a lot of work to do.