Skip to content

Bugsaur

A standalone graphical debugger powered by DAP.

Debug from your editor. Keep the debugger independent.

Get Started GitHub

Bugsaur debugging a Rust program

Why Bugsaur

  • Standalone debugger


    Bugsaur runs on its own. It is the only DAP client and the authoritative owner of the session state. Close your editor and the debug session keeps running.

  • Language agnostic


    Rust, C/C++, Go, Python and PHP work today. A TOML catalog extends or overrides the built-in adapter list, so anything with a DAP adapter can be added.

  • DAP native


    Bugsaur speaks Debug Adapter Protocol 1.71 directly to compatible debug adapters — no bridge process, no editor in the middle.

  • Neovim integration


    Neovim acts as a source frontend: editing, navigation and breakpoint UX. It never owns the debug session, and it is replaceable.

Start in 60 seconds

# In your project — describe what to debug
bugsaur init

# Debug it
bugsaur gui --project . --break src/main.rs:15

bugsaur init detects the language and writes .bugsaur/config.toml, which you then edit by hand:

version = 1
default = "app"

[profiles.app]
adapter = "codelldb"
program = "target/debug/app"

The config is read by the debugger, not by the editor, so bugsaur from a terminal and :DebugStart from Neovim see exactly the same setup.

New to Bugsaur? Your First Debug Session walks from an empty project to a debugger stopped on a breakpoint.

Choose your language

Language Adapter Detected by
Rust codelldb Cargo.toml
C / C++ codelldb configured by hand
Go dlv go.mod
Python debugpy pyproject.toml, setup.py, requirements.txt
PHP php (built in) composer.json

PHP is the one language Bugsaur does not delegate. It ships its own native DBGp adapter and needs no Node.js, npm or VS Code extension at runtime — only bugsaur, php-dbgp-adapter and Xdebug.

Where to go next

  • Getting Started

    Install Bugsaur, run it, and hit your first breakpoint.

  • Debugger UI

    Every panel of the window, explained one at a time.

  • Guides

    Task-shaped recipes: cargo test, pytest, PHP inside Docker.

  • Troubleshooting

    It did not stop where you expected. Here is how to find out why.

Requirements

macOS or Linux, and the Rust toolchain pinned in rust-toolchain.toml (1.92) to build from source. At least one debug adapter must be on PATH.