Hacker News new | ask | show | jobs
by mark_undoio 920 days ago
@chris-tsang My debugging anecdotes usually involve analysing subtle failures in C code.

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.

1 comments

Hey! I have been following the work of undo.io for a while and have watched various talks your colleagues gave. I have always been curious about how udb works under the hood, but I assume it to be specific to Linux.

I wanted to support macOS from day one, and it limited our design choices. But hey it works on my M1 Mac with smooth graphics!

What would be the best way to connect with you? Tried to DM you on Twitter