Install lazydap
Install codelldb first, then lazydap, then run lazydap doctor to confirm each piece is
where lazydap expects it. There are no published binaries yet, so lazydap is a cargo install from a clone.
Prerequisites
Section titled “Prerequisites”A Rust toolchain, from rustup. The pinned channel comes from
rust-toolchain.toml on the first cargo command you run in the repository, so there is
nothing to choose.
macOS or Linux. Windows is not a target.
1. Install codelldb
Section titled “1. Install codelldb”codelldb is the debug adapter that does the actual debugging. lazydap drives it and does not bundle it.
Releases ship as .vsix files, which are renamed zips. VS Code is not involved.
curl -sL -o /tmp/codelldb.vsix \ https://github.com/vadimcn/codelldb/releases/latest/download/codelldb-darwin-arm64.vsixmkdir -p ~/.local/opt/codelldbunzip -q -o /tmp/codelldb.vsix -d ~/.local/opt/codelldbOther platforms: codelldb-linux-x64.vsix, codelldb-linux-arm64.vsix,
codelldb-darwin-x64.vsix.
Now put it on PATH with a wrapper script, not a symlink:
mkdir -p ~/.local/bincat > ~/.local/bin/codelldb <<'EOF'#!/usr/bin/env bashexec "$HOME/.local/opt/codelldb/extension/adapter/codelldb" "$@"EOFchmod +x ~/.local/bin/codelldbCheck it runs. --version is not a flag codelldb knows, so use --help:
codelldb --helpIf that hangs with no output at all, see quirk 5 — a macOS update can wedge the binary, and the fix is a re-copy.
2. Install lazydap
Section titled “2. Install lazydap”git clone https://github.com/planetaryescape/lazydapcd lazydapcargo install --path crates/daemonThat installs one binary, lazydap. The daemon, the CLI and the TUI are all inside it.
3. Check the pieces
Section titled “3. Check the pieces”$ lazydap doctor --format json{ "checks": [ { "detail": "/Users/you/.local/bin/codelldb", "name": "adapter.codelldb", "ok": true }, { "detail": "/Users/you/lazydap-demo/.lazydap/state.toml (not created yet)", "name": "state.file", "ok": true }, { "detail": "instance lazydap-demo-13cc8efcde46, pid 2452, protocol v2", "name": "daemon", "ok": true } ], "ok": true}Three checks: the adapter is on PATH, the project’s breakpoint file is readable, and a
daemon is answering. "ok": true on all three means you can debug something.
doctor started that daemon. So does every other command — there is nothing to launch by
hand, and the daemon guide explains what it does while it is there.
If adapter.codelldb is false, lazydap searched PATH and found nothing. Adapter discovery
is PATH-only today; the config file that would let you point at an arbitrary path is
specified and not built.
4. Shell completions
Section titled “4. Shell completions”lazydap completions zsh > ~/.zfunc/_lazydap # zshlazydap completions bash > ~/.local/share/bash-completion/completions/lazydapfish, elvish and powershell also work.
What you get
Section titled “What you get”C, C++ and Rust, through codelldb. debugpy for Python, delve for Go and js-debug for Node are planned and not built, so a Python program has nothing to run it under today.
- Quickstart — a breakpoint and a variable, in about a minute
- Troubleshooting — if
doctorcame back unhappy