DLV-DAP(1)

NAME
dlv-dap - Starts a headless TCP server communicating via Debug Adaptor Protocol (DAP).

SYNOPSIS
dlv dap [flags]

DESCRIPTION
Starts a headless TCP server communicating via Debug Adaptor Protocol (DAP).

The server is always headless and requires a DAP client like VS Code to connect and request a binary to be launched or a process to be attached to. The following modes can be specified via the client's launch config: - 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.

This server does not accept multiple client connections (--accept-multiclient). Use 'dlv [command] --headless' instead and a DAP client with attach + remote config. While --continue is not supported, stopOnEntry launch/attach attribute can be used to control if execution is resumed at the start of the debug session.

The --client-addr flag is a special flag 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.

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
--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
dlv(1)