Heh, it feels like everybody and their dog has written a reversible debugger.
Listed in this Hacker News thread we have 7 implementations in gdb, plus rr and WinDBG.
I'll add one more, an in-house hypervisor that I help develop. Stuff like finding "all concurrency bugs" as in this article would be a matter of scripting it up. BTW, we're hiring: https://news.ycombinator.com/item?id=19797601
So that's at least 10, counting the gdb backends distinctly except lumping the Linux native x86 and x86_64 together.
Of the 7 implementations listed in the gdb page:
* gdb's "Native" implementation is unusably slow. 1000x slowdown during recording.
* Simics is expensive and AFAIK a full-system simulator not very useful for debugging applications.
* Moxie-ELF is for an obscure custom CPU. SID looks similar.
* VMWare have discontinued support for reverse execution.
* Chronicle-gdbserver is unusably slow, 300x recording overhead.
* UndoDB is the only one that's really usable.
We actually have another gdb remote backend supporting reverse execution that's in active use but not publicly available yet --- Pernosco.
A properly-equipped full-system simulator is useful for debugging applications. I have one. It is decently fast too. It's free or very expensive, depending on how you count several in-house developers to maintain it.