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 via JSON-RPC or DAP.
--allow-non-terminal-interactive Allows interactive sessions of Delve that don't have a terminal as stdin, stdout and stderr
--api-version int Selects JSON-RPC 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 Exits if the version of Go in use is not compatible (too old or too new) with the version of Delve. (default true)
--disable-aslr Disables address space randomization
--headless Run debug server only, in headless mode. Server will accept both JSON-RPC or DAP client connections.
-h, --help help for dlv
--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.
-
dlv attach - Attach to running process and begin debugging.
-
dlv connect - Connect to a headless debug server with a terminal client.
-
dlv core - Examine a core dump.
-
dlv dap - Starts a headless 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