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.
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.
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.
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.
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.
While I am not so negative, I'd also like to have a demo with a real example. Even if it does not scale, I think this could make debugging interesting at least for beginners and their smaller code bases. Rust is called a language that is hard for beginners, and I think every approach into easing things should be welcomed.
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.
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.
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.
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'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
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.
leoh|9 months ago
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.
orsenthil|9 months ago
waschl|9 months ago
quotemstr|9 months ago
vvern|9 months ago
Also, there’s usually some language (and compiler) specific garbage that makes the dwarf hard to use and requires special treatment.
RealityVoid|9 months ago
khuey|9 months ago
mdaniel|9 months ago
lpapez|9 months ago
spencerflem|9 months ago
1. https://gtoolkit.com/
forrestthewoods|9 months ago
Pfeil|9 months ago
leoh|9 months ago
tonyhart7|9 months ago
anyone know the tool name??? I know it exist but forget it while ago
hencoappel|9 months ago
https://learn.microsoft.com/en-us/sql/relational-databases/p...
artogahr|9 months ago
Rust-Trends|9 months ago
Veserv|9 months ago
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|9 months ago
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.
unknown|9 months ago
[deleted]
levkk|9 months ago
- 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|9 months ago
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|9 months ago
unknown|9 months ago
[deleted]
sahil_sharma0|9 months ago
[deleted]
mickey475778|9 months ago
[deleted]
dochtman|9 months ago
On mobile (Firefox on iOS) why does this site keep putting animations in my face?
mdaniel|9 months ago
unknown|9 months ago
[deleted]