参考地址1:https://www.jianshu.com/p/471a12f5d066
参考地址2:https://www.jianshu.com/p/71fb7a59e5f0
参考地址3:https://blog.csdn.net/nangonghen/article/details/109150284
配置Goland 环境
- 配置sftp:Tools -> Deployment -> configuration
打开后点 “+” 选择 sftp - 配置忽略的目录或文件
Tools -> Deployment -> Options() - 开启自动上传
- 配置remode:Run -> Edit Configuration 点选“+”选择 Go Remote
配置远程环境 - 自行搭建go环境
- 安装go-delve:go install github.com/go-delve/delve/cmd/dlv@latest
- 用go 编译出 可执行文件 (比如 : go build -o main -gcflags "all=-N -l" )
这里的-gcflags "all=-N -l" 必须要带,不然不可以使用dlv - dlv启动程序:dlv --listen=:2345 --headless=true --api-version=2 --accept-multiclient exec ./main 这里的--api-version=2 目前就是固定的
- 现在可以在goland上点对应的debug 图标,就可以运行起程序,同时goland 可以断点
如果为容器环境,则需要自行打包镜像,然后以pod 的方式运行在k8s中,需要同时将程序的pod 和 dlv 的端口同时暴露出来。(在某些cni运行环境中使用 deployment + service 的方式不能暴露出dlv,因为受网络policy 的影响,所以需要用kind:Pod 的方式运行)
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。