Delve
What it is
Delve is a debugger for Go programs, with command-line tools to debug, execute, and test code. It lets developers control execution, evaluate variables, and inspect threads, goroutines, and CPU register state. Commands cover attaching to a running process, working with packages or precompiled binaries, tracing, examining core dumps, and replaying rr traces. Delve can run headlessly for a separate client, exposing a JSON-RPC 1.0 API in APIv1 and APIv2 with controls such as halt, continue, next, step, and stepout. The project lists integrations for GoLand, IntelliJ IDEA, Vim and Neovim, Visual Studio Code, Emacs, and other editors. Pre-built binaries are available for Linux, macOS, and Windows, and installation through Go is documented; that command requires Go 1.16 or later. The FAQ lists supported targets as Linux amd64, arm64, and 386; Windows amd64; and macOS amd64. Other operating systems and architectures have no planned support ETA. Delve is free and MIT-licensed. Its FAQ warns that headless remote connections are unauthenticated and can allow arbitrary remote code execution, so they should not be used in production.
For and against
For
- Controls execution and inspects variables and runtime state.
- Supports core dumps and rr trace replay.
- Integrates with several editors and IDEs.
- Free and MIT-licensed.
Against
- Headless remote connections are unauthenticated.
- Other operating systems and architectures lack a support ETA.
- Go installation requires version 1.16 or later.
The verdict
Delve provides Go-specific debugging through the command line, editor integrations, and a headless API. Treat remote headless access as a security risk, and check the listed target support before installing.
Who it suits
Delve suits Go developers who need command-line debugging, editor integration, or a headless API for a separate client. It also supports remote debugging, with SSH tunnels or a VPN recommended when remote access is necessary.
On the record
- Alternative interfaces
- The project lists Gdlv and Debugger as alternative user interfaces for Delve.github.com · read 30 Sep 2026
- Architecture limits
- The FAQ says other operating systems and architectures are unsupported and have no planned support ETA.github.com · read 30 Sep 2026
- Client API
- A headless Delve instance exposes an API built on JSON-RPC 1.0, with APIv1 and APIv2 versions.github.com · read 30 Sep 2026
- Debug commands
- Its documented commands include attaching to a running process, debugging or testing a package, executing a precompiled binary, tracing a program, examining a core dump, and replaying an rr trace.github.com · read 30 Sep 2026
- Debugger controls
- Its API supports commands including halt, continue, next, step, and stepout.github.com · read 30 Sep 2026
- Debugging
- It lets users control program execution, evaluate variables, and inspect thread, goroutine, and CPU register state.github.com · read 30 Sep 2026
- Debugging modes
- The command line supports debugging, executing, and testing programs, including headless mode for a separate client.github.com · read 30 Sep 2026
- Downloads
- Pre-built binaries are available for Linux, macOS, and Windows, and the project also documents installation with Go.github.com · read 30 Sep 2026
- Editor integrations
- The project lists integrations for GoLand, IntelliJ IDEA, Vim and Neovim, Visual Studio Code, Emacs, and other editors.github.com · read 30 Sep 2026
- Installation requirement
- The documented Go installation command requires Go version 1.16 or later.github.com · read 30 Sep 2026
- License
- The repository identifies its license as MIT.github.com · read 30 Sep 2026
- Operating systems
- The installation guide says its instructions are known to work on Linux, macOS, Windows, and FreeBSD.github.com · read 30 Sep 2026
- Purpose
- Delve is a debugger for the Go programming language, designed to be simple to invoke and use.github.com · read 30 Sep 2026
- Release verification
- Installation documentation describes verifying release checksums with cosign and sha256sum.github.com · read 30 Sep 2026
- Remote debugging
- Delve supports remote debugging and recommends SSH tunnels or a VPN when connecting remotely.github.com · read 30 Sep 2026
- Remote debugging guidance
- For remote debugging, the FAQ recommends avoiding public networks and using SSH tunnels or a VPN if remote access is necessary.github.com · read 30 Sep 2026
- Remote debugging security
- The FAQ warns that headless remote connections are unauthenticated and can allow arbitrary remote code execution, and says not to use this setup in production.github.com · read 30 Sep 2026
- Security
- The FAQ warns that headless connections are unauthenticated and allow arbitrary remote code execution, and says not to use them in production.github.com · read 30 Sep 2026