This straps onto dgb or ddd or whatever, and adds reversability. Where you once stepped the cursor over instructions, now you can step it under those instructions, back-stepping or completely time-jumping your program backwards. Smoothly.
Needless to say, this can make debugging much easier, since you can now start with an exposed problem, and back-track until the problem goes away. The rewinding even includes putting back the pseudo-random values initially placed in local variables (in C), so a bug which depends on one of these values can be re-created. This made choosing examples for my articles very easy.
I was also pleased to see free “not-for-profit” licences available, and a 30-day trial run, so one can test it out for one’s self, to see how well it really does work before buying it. Very reassuring.