Yep. Amazing tool. Being to record an execution without much slowdown (~10% IIRC) and replay and suspend it in any direction to deterministically reproduce a strange behavior that can be a race condition is great. I wish Java and JavaScript had something like this in open source.<p>For the record, it was built at Mozilla to debug Firefox, so it can handle big programs.<p>I think the biggest limitations are:<p>- It was historically Intel only, though apparently some AMD and ARM64 CPUs are supported now<p>- it supports multithreaded executions, but they will be serialized, during record and during replay.<p>It works by recording the results of syscalls. It turns out this is sufficient to accurately reproduce an execution when you have removed scheduling/threading issues.<p>Another caveat is that rr is now essentially the open core of Pernosco. I'm not sure what Pernosco brings to the table, I think it is a convenient UI on top of rr, so actual core features would land in rr I guess.<p>And for checkpointing an execution and replaying it with the ability to change course, you have CRIU (Checkpoint and Restore In Userspace) (in case you are eager for more wizardry)