|
|
|
Show HN: FireDBG – A Time Travel Visual Debugger for Rust
(firedbg.sea-ql.org)
|
|
44 points
by chris-tsang
922 days ago
|
|
Hey HN, the is Chris, creator of FireDBG. We’ve been working on this debugger just about a year now. Time travel debugging isn’t a new concept, the new idea here is to use call tree visualisation to help us navigate the debug trace. It supports various Linux distros on x64 and macOS on x64 and M1. It’s only available for Rust right now, but we do want to bring this debugging experience to other programming languages. Please give it a try! Would love to know your thoughts. What’s your anecdote in debugging programs? My stupidity is usually in the form of: after a few hours of debugging, I realised I misused a system API (e.g. messing up length with offset) but I kept thinking I had a logic error somewhere. By the way, I am looking for a technical co-founder. If you are also passionate about developer toolings and willing to commit to this problem, let's team up and build a company. You can find me on YC Co-Founder Matching (link in blog post). |
|
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.