Delve 是 Go 语言的一个调试器。其目标是为 Go 语言提供一个易用,拥有完整功能的调试工具。
安装可以参考这里。
用 dlv version
命令验证是否安装成功:
$ dlv version
Delve Debugger
Version: 1.7.1
Build: $Id: 3bde2354aafb5a4043fd59838842c4cd4a8b6f0b $
构建应用
在实际项目中 Delve 可以方便我们在本地调试部署在远程的 Go 应用,但为了使 Delve 的调试器正常工作,一些信息必须在构建过程中避免被编译器或链接器优化。这通过给 go build
添加参数来实现。
构建应用时禁用编译器优化
为了保证进行 debug 时实际运行的代码与源代码相同,需要使用下面的命令构建应用以禁止编译器在编译时对代码进行优化。
go build -gcflags="all=-N -l" -o bin/app
go build 可以用 -gcflags
给 go 编译器传入参数,也就是传给 go tool compile
的