delve/Documentation/usage/dlv_dap.md
polinasok 7cdf48605b
service/dap: clarify handling of relative program path (#2653)
* service/dap: add test verifying handling of relative program path

* Add exec test, log build dir and document in --help

Co-authored-by: Polina Sokolova <polinasok@users.noreply.github.com>
2021-08-23 11:27:49 -07:00

3.1 KiB

dlv dap

[EXPERIMENTAL] Starts a headless TCP server communicating via Debug Adaptor Protocol (DAP).

Synopsis

[EXPERIMENTAL] Starts a headless TCP server communicating via Debug Adaptor Protocol (DAP).

The server is always headless and requires a DAP client like vscode to connect and request a binary to be launched or process to be attached to. The following modes can be specified via 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.

The server does not yet accept multiple client connections (--accept-multiclient). 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.

dlv dap [flags]

Options

  -h, --help   help for dap

Options inherited from parent commands

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

SEE ALSO

  • dlv - Delve is a debugger for the Go programming language.