Skip to content
Switch branches/tags
Go to file
Cannot retrieve contributors at this time


Delve is a debugger for the Go programming language.


Delve is a source level debugger for Go programs.

Delve enables you to interact with your program by controlling the execution of the process, evaluating variables, and providing information of thread / goroutine state, CPU register state and more.

The goal of this tool is to provide a simple yet powerful interface for debugging Go programs.

Pass flags to the program you are debugging using --, for example:

dlv exec ./hello -- server --config conf/config.toml


      --accept-multiclient   Allows a headless server to accept multiple client connections.
      --api-version int      Selects API version when headless. (default 1)
      --backend string       Backend selection (see 'dlv help backend'). (default "default")
      --build-flags string   Build flags, to be passed to the compiler.
      --check-go-version     Checks that the version of Go in use is compatible with Delve. (default true)
      --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 "")
      --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)
      --wd string            Working directory for running the program. (default ".")


  • dlv attach - Attach to running process and begin debugging.

  • dlv connect - Connect to a headless debug server.

  • dlv core - Examine a core dump.

  • dlv dap - [EXPERIMENTAL] Starts a TCP server communicating via Debug Adaptor Protocol (DAP).

  • dlv debug - Compile and begin debugging main package in current directory, or the package specified.

  • dlv exec - Execute a precompiled binary, and begin a debug session.

  • dlv replay - Replays a rr trace.

  • dlv run - Deprecated command. Use 'debug' instead.

  • dlv test - Compile test binary and begin debugging program.

  • dlv trace - Compile and begin tracing program.

  • dlv version - Prints version.

  • dlv log - Help about logging flags

  • dlv backend - Help about the --backend flag