Those are typically days or weeks of staring and trying out different things, followed (eventually) by enlightenment. It's usually been kernel-level code (or equivalent) for me, so there are minimal conveniences / safety features available.
C makes it easy to get crazy stories because of all the ways threading or memory access can go horribly wrong. These are notorious for creating "impossible bugs". Is there an equivalent "argggh, no!" in Rust, where things are better controlled?
re the visualisation in FireDBG:
Your visualisation is really cool. I just saw it shared by some of my colleagues - we also do time travel but quite differently to you.
Debuggers are usually like looking at your program through a microscope, plus some commands for moving the microscope to different places. But that's not always what's wanted (and certainly not always what makes sense to newcomers).
Using people's spatial reasoning to help understand what's happened is quite exciting. I'd argue one of the reason that printf-debugging is so popular is because you get a clear, visual idea of roughly what happened in what order.