Debugger for the Go programming language.


Compile and begin debugging the main package in the current directory (by default, with no arguments)

$ dlv debug

Compile and begin debugging a specific package
$ dlv debug [package] [arguments]

Compile a test binary and begin debugging the compiled program
$ dlv test

Connect to a headless debug server
$ dlv connect [ip_address]

Attach to a running process and begin debugging
$ div attach [pid]

Compile and begin tracing a program
$ dlv trace [package] --regexp '[regular_expression]'


dlv [flags]


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[=false] Allows a headless server to accept multiple client connections.

--allow-non-terminal-interactive[=false] Allows interactive sessions of Delve that don't have a terminal as stdin, stdout and stderr

--api-version=1 Selects API version when headless. New clients should use v2. 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] Checks that the version of Go in use is compatible with Delve.

--disable-aslr[=false] Disables address space randomization

--headless[=false] Run debug server only, in headless mode.

-h, --help[=false] help for dlv

--init="" Init file, executed by the terminal client.

-l, --listen="" Debugging server listen address.

--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.


dlv-attach(1), dlv-connect(1), dlv-core(1), dlv-dap(1), dlv-debug(1), dlv-exec(1), dlv-replay(1), dlv-run(1), dlv-test(1), dlv-trace(1), dlv-version(1)

Copied to clipboard