DLV-DAP(1)

πŸ‘‘ DLV-DAP(1) β€” General Commands Manual energy, but make it slay πŸ‘‘

okay bestie, so this is the manual page for dlv-dap, and I'm gonna walk you through it like we're texting at 2am, except every single fact stays exactly where it belongs. no cap. πŸ’…


✨ NAME ✨

dlv-dap β€” starts a headless TCP server communicating via Debug Adaptor Protocol (DAP).

fr fr that's the whole vibe. a server, headless, TCP, and it speaks DAP. πŸ¦‹


πŸŽ€ SYNOPSIS πŸŽ€

dlv dap [flags]

that's it. that's the whole spell. go off. ✨


🌸 DESCRIPTION 🌸

So basically: this starts a headless TCP server that communicates via Debug Adaptor Protocol (DAP). πŸ’–

The server is always headless, periodt. it is not gonna grow a UI for you. it needs a DAP client β€” think VS Code β€” to connect and then either request a binary to be launched, or a process to be attached to. it's giving "I don't start the party, I just wait for the guest list." πŸ™ˆ

The modes you can specify via the client's launch config are:

  • launch + exec β€” executes precompiled binary, like 'dlv exec'
  • launch + debug β€” builds and launches, like 'dlv debug'
  • launch + test β€” builds and tests, like 'dlv test'
  • launch + replay β€” replays an rr trace, like 'dlv replay'
  • launch + core β€” replays a core dump file, like 'dlv core'
  • attach + local β€” attaches to a running process, like 'dlv attach'

Program and output binary paths will be interpreted relative to dlv's working directory. (yes bestie, that matters, remember it πŸ’…)

🚨 okay important thing, listen up: this server does not accept multiple client connections (--accept-multiclient). if that's what you want, use 'dlv [command] --headless' instead, plus a DAP client with attach + remote config. no drama, just different setup. 😭

While --continue is not supported, the stopOnEntry launch/attach attribute can be used to control if execution is resumed at the start of the debug session. so like, you can still decide whether it runs immediately or waits for you. iconic. πŸ‘‘

And then there's the --client-addr flag, which is a special flag (main character flag honestly) that makes the server initiate a debug session by dialing in to the host:port where a DAP client is waiting. This server process will exit when the debug session ends. it knows when to leave the party. 🌈


πŸ’… OPTIONS πŸ’…

  • --client-addr="" β€” Address where the DAP client is waiting for the DAP server to dial in. Prefix with 'unix:' to use a unix domain socket. 🧚
  • -h, --help[=false] β€” help for dap

πŸ”₯ OPTIONS INHERITED FROM PARENT COMMANDS πŸ”₯

aka the family heirlooms, the hand-me-downs, the lore. these come from the parent commands and they're all here, every single one:

  • --accept-multiclient[=false] β€” Allows a headless server to accept multiple client connections via JSON-RPC or DAP.
  • --allow-non-terminal-interactive[=false] β€” Allows interactive sessions of Delve that don't have a terminal as stdin, stdout and stderr
  • --api-version=2 β€” Selects JSON-RPC API version when headless. The only valid value is 2. Can be reset via RPCServer.SetApiVersion. See Documentation/api/json-rpc/README.md.
  • --backend="default" β€” Backend selection (see 'dlv help backend').
  • --build-flags="" β€” Build flags, to be passed to the compiler. For example: --build-flags="-tags=integration -mod=vendor -cover -v"
  • --check-go-version[=true] β€” Exits if the version of Go in use is not compatible (too old or too new) with the version of Delve.
  • --disable-aslr[=false] β€” Disables address space randomization
  • --headless[=false] β€” Run debug server only, in headless mode. Server will accept both JSON-RPC or DAP client connections.
  • --init="" β€” Init file, executed by the terminal client.
  • -l, --listen="127.0.0.1:0" β€” Debugging server listen address. Prefix with 'unix:' to use a unix domain socket.
  • --log[=false] β€” Enable debugging server logging.
  • --log-dest="" β€” Writes logs to the specified file or file descriptor (see 'dlv help log').
  • --log-output="" β€” Comma separated list of components that should produce debug output (see 'dlv help log')
  • --only-same-user[=true] β€” Only connections from the same user that started this instance of Delve are allowed to connect.
  • -r, --redirect=[] β€” Specifies redirect rules for target process (see 'dlv help redirect')
  • --wd="" β€” Working directory for running the program.

πŸ¦‹ SEE ALSO πŸ¦‹


and that's the whole page bestie, you ate it up πŸ’– the lore says this one was Auto generated by spf13/cobra, stamped Aug 2026, and honestly? iconic behavior. now go connect that DAP client and slay. πŸŽ€βœ¨πŸ«Ά

πŸ“¦ where this page comes from