\

Show HN: BugStalker - a modern Rust debugger

111 points - yesterday at 1:58 PM

Source
  • bobajeff

    yesterday at 5:38 PM

    Does this have a machine interface mode like gdb/lldb? Asking because I like my debuggers to be integrated with my code editor of choice which is usually done via such an interface.

      • godzie

        yesterday at 6:44 PM

        Unfortunately no, but it's a good idea. I'll definitely look into this feature.

    • otherayden

      yesterday at 2:53 PM

      Best of luck with this project. I'm not even a rust dev but I came to say that I love this name

      • meisel

        yesterday at 5:32 PM

        I’m surprised this isn’t getting more love. My experience with other debuggers with Rust was quite poor, I hope this one can fare much better. For example, I couldn’t call functions with previous debuggers

        • bfrog

          yesterday at 2:21 PM

          Been hoping someone would make this, looks great!

          I guess I’m next hoping someone gets it working using jtag/swd debug probes for embedded targets :)

        • gitroom

          yesterday at 6:45 PM

          Honestly this wouldve helped me a ton when I got stuck with async errors before, Rust debugging always felt tougher than it should be.

            • dathinab

              yesterday at 7:15 PM

              yeah I mean you are basically stuck with a few options

              - use C/C++ focused debugers with a rust plugin or similar (okay, not not compared to idk. debugging python in PyStorm)

              - rely on tracing/logging and errors reported (which might sound dump as it's basically "not" debugging, but with how the rust type system plays out and enforcement of reasonable decent code style/structure etc. this is quite often good enough)

              - write/extend tests (again a form of "not" debugging, but where while a "must have" even if you pinned down the bug using a debugger)

              - sprinkle in dbg! statements (basically print line debugging)

              The fact that it took like 10? yearts for anyone to write more then just tweeks to C/C++ debuggers even through rust has a lot of enthusiasts is I think telling ;)

              Still it looks like a real nice tool to have in your toolbox.

          • giancarlostoro

            yesterday at 5:07 PM

            BugStomper would have also been a great name choice. ;)

              • rob74

                yesterday at 7:01 PM

                Better than the current one - first, stalking is not really a verb that comes to mind when I think about bugs, and second, it has pretty negative connotations...

            • godzie

              yesterday at 1:58 PM

              BS is a modern debugger for Linux x86-64. Written in Rust for Rust programs.

              Async Rust support – debug async code with new commands: - async backtrace – inspect async task backtraces - async task – view task details - async stepover / async stepout – better control over async execution

              Enhanced variable inspection: - argd / vard – print variables and arguments using Debug trait

              Other: - new `call` Command – execute functions directly in the debugged program - `trigger` Command – fine-grained control over breakpoints - new project Website – better docs and resources

              …and much more!

              Full Changelog: https://github.com/godzie44/BugStalker/releases/tag/v0.3.0

              Documentation & Demos: https://godzie44.github.io/BugStalker/

              • thurn

                yesterday at 7:45 PM

                is this necessarily linux for dependency reasons, or could it be on OSX in the future?

                  • godzie

                    yesterday at 8:37 PM

                    Yes, I think it's possible to support macOS. However, the main challenge isn't the operating system itself but rather the architecture.

                • sixthDot

                  yesterday at 3:34 PM

                  any Machine Interface planned (Γ  la GDB/MI)?

                    • godzie

                      yesterday at 6:46 PM

                      First priority is a DAP support. But after this - why not.