Delve是GO语言的调试器。它的目标是为GO语言提供简单的使用和完整的调试工具。
对于安装,请参考此处。
使用命令验证安装是否成功:
在实际项目中,Delve可以促进我们在本地部署在远程GO应用程序中,但是为了使Delve的调试器正常工作,必须避免在施工过程中避免一些信息,以避免编译器或链接器进行优化。通过添加参数来实现。。
为了确保调试期间运行的实际代码与源代码相同,需要以下命令构建一个应用程序以禁止编译器在编译时优化代码。
GO Build可以将参数传递给GO编译器,即传递到传递的参数,因此您可以检查所有可用的参数。指示所有软件包-N和-L的编译应用程序。
您可以看到-n和-l的角色:
使用-m可以查看编译器优化决策。
Delve不会强行禁用编译器优化,但这可能会导致实际操作代码匹配与源代码不匹配的源代码。然后,不匹配代码的这一部分(例如内部关节优化的代码)不能进行调试。生产环境对性能很敏感,并且不应轻易放弃优化策略。
此外,我们通常在构造发行程序包时添加LDFLAGS参数:.ldflags将参数传达到链接中,以将可执行文件的量减少近20%。
观看-w和-s。
应该注意的是,Delve依赖于矮化信息,因此,如果要使用Delve进行调试,则不能使用-W参数。
Delve提供了许多本地应用程序调试功能。此外,Delve还允许我们从远程连接到其调试器,提供本地调试远程应用程序的能力。
Delve有两种直接运行的方法。一个是在应用程序根目录(main.go)下直接在调试模式下启动应用程序,它将在启动后进入Delve的交互模式。
输入帮助以查看所有可用命令,输入退出并终止程序。
另一个是运行可执行文件:
构建并启动Web服务。
DLV附着于演示应用,PID为17062。
上述方法在本地进行调试。基本逻辑是首先启动应用程序,然后启动Delve的调试器,然后让调试器附加到应用程序过程。
为了能够将调试器从远程控制界曝光到网络中,请指定远程连接的端口,从远程连接到调试器使用的API版本以及其他参数。从遥控器中,只需将以下参数添加到DLV命令:
Delve支持多个编辑器以供参考。
以下是Goland。
创建配置。
连接调试器。