1。需要root权限的服务器代码调试

  1. sudo ./app
  2. ps to get pid
  3. dlv attach pid --headless --listen=:40000 --api-version=2 --accept-multiclient
  4. attach the golang IDE or other IDE

2。不需要root权限的服务器代码调试,另一种选择

  1. dlv --listen=:40000 --headless=true --api-version=2 --accept-multiclient exec ./app -- -config-file=config file path
  2. attach the golang IDE or other IDE

"-- -config-file=config file path" is optional

3. 编译的时候记得 go build -gcflags="all=-N -l", 关闭优化


这篇文章可以参考 Remote debug your go code,记录的是第二种调试方法,还有docker,以及goland的设置。