CLI reference
lazydap is one binary with a subcommand per debugger operation. Run it with no arguments on a terminal and you get the TUI; run it anywhere else and you get this help.
lazydap [OPTIONS] [COMMAND]Commands
Section titled “Commands”| Command | Does |
|---|---|
lazydap launch |
Start a program under the debugger |
lazydap launches |
List the project’s named launch configurations, or run one |
lazydap status |
Show the daemon and its current session |
lazydap disconnect |
End the current session |
lazydap shutdown |
Stop the daemon and every session it owns |
lazydap continue c |
Resume the program |
lazydap step next |
Run the next line, stepping over any call in it |
lazydap step-in step-into |
Step into the call on this line |
lazydap step-out |
Run until the current function returns |
lazydap pause |
Interrupt a running program |
lazydap break b |
Set, list, remove or toggle breakpoints |
lazydap watch w |
Add, list or remove watch expressions |
lazydap stack |
Show the call stack of a paused program |
lazydap scopes |
Show the variable scopes of a frame |
lazydap variables |
Expand a scope or a structured variable |
lazydap eval |
Evaluate an expression in the debuggee |
lazydap threads |
List the debuggee’s threads |
lazydap output |
Show output the debuggee has produced |
lazydap logs |
Show the daemon’s log |
lazydap doctor |
Check that everything lazydap needs is where it should be |
lazydap version |
Print the lazydap and protocol versions |
lazydap completions |
Print a shell completion script |
lazydap tui |
Open the terminal UI. This is also what bare lazydap does on a terminal |
lazydap daemon |
Run the daemon. Normally started automatically by the first command that needs it |
Options every command takes
Section titled “Options every command takes”| Flag | Description |
|---|---|
--instance <INSTANCE> |
Which daemon to talk to. Defaults to one per project root, and can also be set with LAZYDAP_INSTANCE |
--format <FORMAT> |
Output format. Defaults to table on a terminal and json when piped. One of table, json, jsonl, csv, ids. |
-h, --help |
Print help (see a summary with ‘-h’) |
--format decides how a command answers. table is for reading and its layout is not a contract; json is the contract. With no --format, lazydap picks table on a terminal and json everywhere else, so a pipeline gets JSON without asking.
Commands that move the program
Section titled “Commands that move the program”continue, step, step-in, step-out and pause also take --wait and --timeout. Without --wait they return as soon as the debugger accepts the request, which is what a live UI wants and almost never what a script wants. See the --wait contract.
launch does not take --wait — it answers with its own shape once the configuration phase is done. Pass --stop-on-entry to hold the program still, then continue --wait to move it.
See also
Section titled “See also”- Quickstart — the commands in order, against a real program
- JSON output — field-by-field schemas
- Errors and exit codes — every error name lazydap emits