Purpose of this documentation is to provide a comprehensive guide on how to debug Golang applications using the Delve debugger (dlv
). This guide covers installation, setting up a remote debugger, and local debugging.
Installation
1
| go install github.com/go-delve/delve/cmd/dlv@latest
|
Remote debugger
- Start server
1
| dlv debug main.go --listen=":2345" --headless=true --api-version=2
|
- Connect Server
1
| dlv connect 127.0.0.1:2345
|
Local debugger
1
| dlv debug github.com/me/foo/cmd/foo
|
Or
1
| dlv debug main.go -- <command-line-args-if-exists>
|
List Break points
Add Break point
1
2
3
| break package_name/file_name.go:line_number
# Or
break package_name.FunctionName
|
Add Break point from file
- Create breakpoint file
.breakpoints.txt
1
2
3
4
| # Comment will be like this
break main.go:15
break main.go:17
break service/init.go:30
|
- Load break points
-
1
2
| source .breakpoints.txt
continue
|
Remove Break point
1
2
| clear 1
# 1 is a breakpoint number
|
Or
Next Step
Step In
Step Out
Continue
Restart
Display value
To see stack
Exit