Go Remote 远程调试docker容器内的go程序
1、基础环境配置信息
- centos7.9:包含go程序源码和docker容器, 并将源码映射到容器内部
- window11系统:安装goland
2、安装和配置DLV调试器
首先,因为是调试容器内的go程序, 所以在docker容器内部安装dlv, 直接进入容器中执行命令
go get github.com/go-delve/delve/cmd/dlv
3、在Docker容器内使用DLV编译应用程序
dlv debug --headless --listen=:2345 --api-version=2 --accept-multiclient
这条命令是用来启动一个用于远程调试的 Delve 调试服务器。下面是每个参数的详细解释:
-
debug
:这是 Delve 的一个命令,用于启动并调试 Go 程序。如果没有指定程序名,Delve 会尝试在当前目录下寻找 main 包。 -
--headless
:这个参数告诉 Delve 以无头模式运行,也就是说,Delve 将不会启动交互式的命令行界面,而是等待远程连接。 -
--listen=:2345
:这个参数指定了 Delve 服务器监听的地址和端口。在这个例子中,Delve 将在所有网络接口的 2345 端口上监听连接。 -
--api-version=2