frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

Open in hackernews

Visualize and debug Rust programs with a new lens

https://firedbg.sea-ql.org/
210•alex_hirner•4d ago

Comments

waschl•1d ago
That looks very impressive! Would give it a spin but as far as I can tell I can’t use it with my Rust os kernel running inside qemu
Veserv•1d ago
This is just a trace viewer. Except the trace visualization is vastly less dense than any standard trace viewer and seems to provide no meaningful execution time information.

Compare to chrome://tracing

https://www.chromium.org/developers/how-tos/trace-event-prof...

I am not sure if trace visualizers were invented 20 years ago for the original time travel debuggers, but they have certainly been used for time travel debugging visualization since at least 20 years ago.

sureglymop•1d ago
It's definitely a little more than just a trace viewer.

As the page reads, it is a time traveling debugger. You can jump back and forth between different snapshots of time during the execution of your program. It's neat because for compiled languages like rust doing something like this is more advanced.

Veserv•1d ago
That is exactly how trace viewers have been used with time travel debuggers for literally, and I do mean literally, over 20 years.

You click a point in the trace, you jump to that point in time. That has been the standard integration for decades.

sureglymop•1d ago
I was under the impression that with a trace viewer you would do that after the execution of the program has finished. Learned something!
quotemstr•1d ago
It's both. It is a trace viewer, but they instrument native code to emit logs of its operation, e.g. calls and returns, similar to what the recent non-performance-counter rr branch does. Except for some reason it's coupled to a specific GUI and a specific language instead of being a general purpose tool like RR is.

The tech industry is getting stupider and hype-ier as it implodes.

Rust-Trends•1d ago
Nice project! I’ll be highlighting it in the next edition of the https://Rust-Trends.com newsletter.
spencerflem•1d ago
Cool, reminds me somewhat of Glamorous Toolkit [1], another project I just found out about. Excited to give it a try, I love these sort of "explain a program as it's running" type tools.

1. https://gtoolkit.com/

levkk•1d ago
I want to use this right now, but two issues:

- Bash script from Internet requiring sudo, no way

- VSCode plugin? I don't use VSCode. I'm not switching from Zed (literally built in Rust for Rust development)

Help me out, what can I do to try this?

mdaniel•1d ago
Depending on where your "Internet" boundary starts, you can clone the repo and run its install.sh although I think it's for really lazy people since it just downloads the GitHub release artifact anyway https://github.com/SeaQL/FireDBG.for.Rust/blob/1.81.0/instal...

I don't see that VSCode is required, they have a section dedicated to CLI usage https://github.com/SeaQL/FireDBG.for.Rust#firedbg-command-li... and even the "firedbg open" seems to just be a convenience method for file globbing https://github.com/SeaQL/FireDBG.for.Rust/blob/1.81.0/comman...

I'm a little with you that it is sus that they don't seem to have any .ts nor package.json file in that repo which would allow one to (a) see what the extension does (b) build the .vsix themselves

leoh•11h ago
They're just trying to offer an easy way to try things out and unsafe code from Firefox would be insanely harmful for their brand. Of course, if you take a moment to merely download the bash script and inspect it. It's truly not dissimilar from downloading a repository from GitHub and building it. In general, certainly, yes, you don't want to run arbitrary programs.
orsenthil•1d ago
This is very good. Excellent user-interface too. Reminded me of Pythontutor that I use.
dochtman•1d ago
Does this work on macOS?

On mobile (Firefox on iOS) why does this site keep putting animations in my face?

mdaniel•1d ago
Their install.sh specifically mentions Darwin https://github.com/SeaQL/FireDBG.for.Rust/blob/1.81.0/instal... and they ship pre-compiled for both aarch64 and x86_64 https://github.com/SeaQL/FireDBG.for.Rust/releases/1.81.0
quotemstr•1d ago
From a debugger's point of view, Rust is just another native code language. DWARF tells you how to get stacks, find variables, and interpret chunks of memory as data structures. Anyone trying to pitch you a debugger specifically for Rust is trying to ride a hype wave or just plain bamboozle you.
mdaniel•1d ago
relevant: DWARF as a Shared Reverse Engineering Format - https://news.ycombinator.com/item?id=44113026 - May, 2025 (17 comments)
khuey•1d ago
It appears to rely on source instrumentation so it really is language specific.
quotemstr•1d ago
Oh. When I read the section on instrumenting function returns, I thought they were going for something more general, since they talk about analyzing assembly. Now I see they're looking at individual Box and Rc instances and have special cases for stdlib data structures. Async support is also a to-do item.

I can't see this approach working for very long. Tracing at the binary level, whether you do it as RR does with performance counting or whether you do it via instrumentation like Undo and iDNA, works for the general case because it records execution at the lowest level available to a process and therefore captures everything, without special cases.

If these guys want to make a fancy time travel debugger data explorer, that's great. They could in principle make one on top of existing tracing technology without having to simultaneously reinvent both the debugger core and the GUI.

khuey•23h ago
From https://firedbg.sea-ql.org/blog/2023-12-11-architecture-of-f... it seems more like lldb automation than what "time travel debugger" brings to mind.
Veserv•22h ago
Wow. It is not even a proper time travel debugger. I just assumed they were ingesting a proper time travel debugger log and driving a proper replay engine and just wrote a bad integrated trace viewer on top. That would at least be excusable. This is just inane.

The "time travel debugger" solution they use automatically sets numerous breakpoints and then records a tiny, useless fraction of the information needed to actually recreate past state, but is almost certainly slower than any actual, fully-functional time travel debugger by multiple orders of magnitude. That was the same technique used by the built-in gdb "reverse debugging" which, at least historically, resulted in 1,000x-10,000x (yes, really) slowdown compared to modern techniques which are on the order of 2x-10x. And to at least give gdb some credit, gdb reverse debugging was at least a complete time travel debugger since it recorded everything; it was just unusably slow. That is more than can be said about whatever this is. They would be significantly better off in both functionality and performance wrapping literally any other actual time travel debugger solution.

Then we add on their awful, bespoke trace viewer. I originally just chalked it up to them being unaware of standard practices since most people are unfamiliar with time travel debugging and the associated tooling and they just wanted to show off what they did with some bluster. That is excusable, if somewhat unfortunate. But this is the metaphorical equivalent of claiming you have solved the problem of inserting screws because you invented the hammer which is much better at hammering in screws than a brick.

Their marketing statements are unacceptable misrepresentations of their capabilities with respect to commonly-accepted meanings.

It is utterly baffling that this is more popular than the recent UndoDB thread [1]. They have a real time travel debugger and have been doing it for like 15-20 years. They are actual veterans doing quality engineering.

[1] https://news.ycombinator.com/item?id=44076300

quotemstr•17h ago
That's the culture that's emerged in tech over the past few years: a rejection of technical rigor and an abuse of language to ape, poorly, the cachet of past accomplishments. This thing is a "time travel debugger" (it isn't). A program to bundle typescript into an executable is called a "compiler". They use cool-sounding words without the substance.
yencabulator•10h ago
Where do you see source instrumentation? I see Rust-specific details so for sure it's language-specific, but I didn't see any mention of altering the source code.
khuey•10h ago
I didn't look at it very closely but it seems like you need to add fire::dbg! macros to your code if you want anything beyond function parameters/return values.
yencabulator•10h ago
Oh so it can't stop at a breakpoint and inspect local variables? Weeird.

Is it like just a trace viewer fed data by debugger-style mechanisms?

khuey•10h ago
Seems like it drives lldb with automation and fills up a database with a dynamic call graph and the data that crosses function call boundaries.

https://firedbg.sea-ql.org/blog/2023-12-11-architecture-of-f...

RealityVoid•22h ago
Sure, I agree, but in my experience, probe-rs for example has much better ability to step and identifies the variables much better than GDB did. Not sure if it's how it handles the name mangling or what, but GDB couldn't interpret a lot of context.
vvern•22h ago
While that’s sort of true, there’s a lot of language specific things that go into making the UX of a debugger pleasant (think container abstractions, coroutines, vtables and interfaces). Specifically async rust and Tokio gets pretty interesting for a debugger to deal with.

Also, there’s usually some language (and compiler) specific garbage that makes the dwarf hard to use and requires special treatment.

lpapez•14h ago
This is true in the same way that Dropbox is just a wrapper around rsync.
tonyhart7•20h ago
would love to do this with database instead, inspect query and so on

anyone know the tool name??? I know it exist but forget it while ago

hencoappel•17h ago
Something like the SQL Server Management Studio execution plan view?

https://learn.microsoft.com/en-us/sql/relational-databases/p...

artogahr•14h ago
Dequery might be what you're looking for: https://dequery.io
forrestthewoods•19h ago
Please show me this being used to debug a real program. Toy examples that don’t do any real work isn’t interesting. My confidence that this work for an actual program is approximately zero percent.
leoh•11h ago
Let's stay positive here. This is very cool.
Veserv•9h ago
When it is objectively not a time travel debugger as prominently advertised, let us not stay mindlessly positive.
leoh•1h ago
Hmm, one can be positive while bringing objectivity
leoh•11h ago
“Simple things should be simple. Complex things should be possible.” - Alan Kay

Rust really embodies this imo. I think it will be a few more years, but we're going to be seeing a lot more Rust -- and for good reason.

Practical SDR: Getting Started with Software-Defined Radio

https://nostarch.com/practical-sdr
47•teleforce•2h ago•5 comments

Player Piano Rolls

https://omeka-s.library.illinois.edu/s/MPAL/page/player-piano-rolls-landing
9•brudgers•37m ago•1 comments

WeatherStar 4000+: Weather Channel Simulator

https://weatherstar.netbymatt.com/
537•adam_gyroscope•11h ago•96 comments

FLUX.1 Kontext

https://bfl.ai/models/flux-kontext
287•minimaxir•9h ago•85 comments

A scientist who disarmed an atomic bomb twice

https://daxe.substack.com/p/disarming-an-atomic-bomb-is-the-worst
42•vinnyglennon•2d ago•32 comments

U.S. Sanctions Cloud Provider 'Funnull' as Top Source of 'Pig Butchering' Scams

https://krebsonsecurity.com/2025/05/u-s-sanctions-cloud-provider-funnull-as-top-source-of-pig-butchering-scams/
40•todsacerdoti•1h ago•18 comments

Show HN: I wrote a modern Command Line Handbook

https://commandline.stribny.name/
271•petr25102018•12h ago•72 comments

Making C and Python Talk to Each Other

https://leetarxiv.substack.com/p/making-c-and-python-talk-to-each
85•muragekibicho•2d ago•56 comments

My website is ugly because I made it

https://goodinternetmagazine.com/my-website-is-ugly-because-i-made-it/
446•surprisetalk•1d ago•120 comments

Learning C3

https://alloc.dev/2025/05/29/learning_c3
214•lerno•14h ago•128 comments

Car Physics for Games (2003)

https://www.asawicki.info/Mirror/Car%20Physics%20for%20Games/Car%20Physics%20for%20Games.html
21•ibobev•2d ago•5 comments

Gurus of 90s Web Design: Zeldman, Siegel, Nielsen

https://cybercultural.com/p/web-design-1997/
372•panic•20h ago•168 comments

Human coders are still better than LLMs

https://antirez.com/news/153
397•longwave•10h ago•482 comments

A visual exploration of vector embeddings

http://blog.pamelafox.org/2025/05/a-visual-exploration-of-vector.html
131•pamelafox•1d ago•29 comments

How did geometry create modern physics?

https://www.quantamagazine.org/how-did-geometry-create-modern-physics-20250515/
6•surprisetalk•3d ago•0 comments

Flash Back: An "oral" history of Flash

https://goodinternetmagazine.com/oral-history-of-flash/
20•surprisetalk•1d ago•18 comments

Putting Rigid Bodies to Rest

https://twitter.com/keenanisalive/status/1925225500659658999
110•pvg•11h ago•10 comments

Notes on Tunisia

https://mattlakeman.org/2025/05/29/notes-on-tunisia/
26•returningfory2•6h ago•13 comments

The flip phone web: browsing with the original Opera Mini

https://www.spacebar.news/the-flip-phone-web-browsing-with-the-original-opera-mini/
100•protonbob•12h ago•60 comments

I'm starting a social club to solve the male loneliness epidemic

https://wave3.social
59•nswizzle31•3h ago•65 comments

Why Is Everybody Knitting Chickens?

https://ironicsans.ghost.io/why-is-everybody-knitting-chickens/
100•mooreds•2d ago•82 comments

Grid-Free Approach to Partial Differential Equations on Volumetric Domains [pdf]

http://rohansawhney.io/RohanSawhneyPhDThesis.pdf
32•luu•2d ago•3 comments

Nova: A JavaScript and WebAssembly engine written in Rust

https://trynova.dev/
149•AbuAssar•13h ago•42 comments

Open-sourcing circuit tracing tools

https://www.anthropic.com/research/open-source-circuit-tracing
106•jlaneve•10h ago•19 comments

Editing repeats in Huntington's:fewer somatic repeat expansions in patient cells

https://www.nature.com/articles/s41588-025-02172-8
19•bookofjoe•2d ago•2 comments

Infisical (YC W23) Is Hiring Full Stack Engineers (TypeScript) in US and Canada

https://www.ycombinator.com/companies/infisical/jobs/vGwCQVk-full-stack-engineer-us-canada
1•dangtony98•10h ago

Show HN: Typed-FFmpeg 3.0–Typed Interface to FFmpeg and Visual Filter Editor

https://github.com/livingbio/typed-ffmpeg
319•lucemia51•23h ago•33 comments

Net-Negative Cursor

https://lukasatkinson.de/2025/net-negative-cursor/
31•todsacerdoti•6h ago•18 comments

I started a little math club in Bangalore

https://teachyourselfmath.app/club
101•viveknathani_•14h ago•19 comments

Airlines are charging solo passengers higher fares than groups

https://thriftytraveler.com/news/airlines/airlines-charging-solo-travelers-higher-fares/
254•_tqr3•8h ago•393 comments