I am not primarily a web developer, but I guess I don't really see it.
I suppose 'rewind' would mostly be useful for Javascript applications? But in Javascript you can already debug pretty well. It's been a while, but I suppose Javascript debuggers can drop frames, like debugging other languages, so you already have a kind of rewind?
Does anyone have a good example use case for this?
It sounds super handy for the hard to catch bugs that happen let's say 5-10% of the time and the bug might be originating from a wrong event or still hanging event listener.
If your app is something that takes time to react on events to unroll, then this could save you lots of time. I made a music player and just by the nature of timed events it took quite a long time to catch edge cases I did not foresee in the prototyping phase.
I'm not quite sure what "drop frames" means in this context, but a use case would be stepping through the debugger, realising that the problem might be in a piece of code that has already executed, and wanting to inspect the value of a variable at that point in time.
Or even more mundane: accidentally hitting "Step over" twice in a row.
In most debuggers you can drop back up the stack to the code that called the function you are currently in, and thus debug through the function call again.
That Stack Overflow answer is poorly worded though, looking at an outer stack frame is really nothing like going back in time. Going back in time in the Firefox Replay sense means reversing execution of the program, e.g. to find the values of variables that have been mutated or gone out of scope.
But that's what drop frame does - it goes back to the state before your current function call, including resetting variables. It does not revert global state (like static variables) but it is essentially like reverting execution 95% of the times I use it.
I suppose 'rewind' would mostly be useful for Javascript applications? But in Javascript you can already debug pretty well. It's been a while, but I suppose Javascript debuggers can drop frames, like debugging other languages, so you already have a kind of rewind?
Does anyone have a good example use case for this?