Posts Golang debugging guide using dlv debugger
Post
Cancel

Golang debugging guide using dlv debugger

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

  1. Start server
1
dlv debug main.go --listen=":2345" --headless=true --api-version=2
  1. 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

1
breakpoints

Add Break point

1
2
3
break package_name/file_name.go:line_number
# Or
break package_name.FunctionName

Add Break point from file

  1. 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
    
  2. Load break points
  3. 1
    2
    
     source .breakpoints.txt
     continue
    

Remove Break point

1
2
clear 1
# 1 is a breakpoint number

Or

1
clearall

Next Step

1
next

Step In

1
step

Step Out

1
so

Continue

1
continue

Restart

1
restart

Display value

1
print variableName

To see stack

1
stack

Exit

1
quit