Show HN: BugStalker - a modern Rust debugger

(github.com)

111 points | by godzie 21 hours ago

9 comments

  • bobajeff 17 hours ago
    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 16 hours ago
      Unfortunately no, but it's a good idea. I'll definitely look into this feature.
  • otherayden 20 hours ago
    Best of luck with this project. I'm not even a rust dev but I came to say that I love this name
  • meisel 18 hours ago
    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 21 hours ago
    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 16 hours ago
    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 16 hours ago
      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 18 hours ago
    BugStomper would have also been a great name choice. ;)
    • rob74 16 hours ago
      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 21 hours ago
    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 15 hours ago
    is this necessarily linux for dependency reasons, or could it be on OSX in the future?
    • godzie 14 hours ago
      Yes, I think it's possible to support macOS. However, the main challenge isn't the operating system itself but rather the architecture.
  • sixthDot 19 hours ago
    any Machine Interface planned (à la GDB/MI)?
    • godzie 16 hours ago
      First priority is a DAP support. But after this - why not.