rr also reminds me of when, ages ago, I first ran into the ocaml debugger's ability to step forward and step backward. To borrow the modern cliché: mind blown.
GDB's was quite useful, but painfully slow; I had to do a good amount of bisecting down to a small enough input to reproduce the issue without having to wait ages to execute before it was usable. Once I did that, though, it let me find the issue a lot sooner than I would have been able to otherwise.
rr promises to be substantially faster the GDB's record and replay; if so, I imagine it will be quite useful, though it is only once or twice a year that I actually have to debug a problem that these kinds of tools are relevant for.
(It wasn't clear to me until I followed a few links - I hadn't heard of rr.)
> it's the first "research" tool I've ever built that I like to use myself.
Nevertheless, does anyone know if there's something like this for programs compiled to the JVM? I've never used gdb to debug JVM code, but I expect that it will not work well.
A Google search https://www.google.com/search?q=java+backwards+debugger found some more hits.