go远程调试dlv+goland - Go语言中文社区

go远程调试dlv+goland


go远程调试dlv+goland

windows10 go开发, 无法进行cgo调试, 像kafka-go 这种就无法跑起来, 用远程调试就能解决问题了

1. 远程机器设置

1.1 安装dlv

$ go install github.com/go-delve/delve/cmd/dlv@latest 
$ dlv version
Delve Debugger
Version: 1.8.2
Build: $Id: dbb493ec14d1e7753504d016b1e1ef1665b75b16 $

1.2 编译程序

$ go build -gcflags=all="-N -l"  -o conf_dev/

-gcflags=all=“-N -l”

-N参数代表禁止优化, -l参数代表禁止内联,
go在编译目标程序的时候会嵌入运行时(runtime)的二进制,
禁止优化和内联可以让运行时(runtime)中的函数变得更容易调试.

1.3 dlv 运行并监听程序

# dlv --listen=:30017  --headless=true --api-version=2 --accept-multiclient --check-go-version=false  \
 exec /data/dev/idcdb/Cmdb/conf_dev/Cmdb -- -config=/data/dev/idcdb/Cmdb/Cmdb.conf 
# ps -ef |grep Cmdb

17:28 pts/0 00:00:00 dlv --listen=:30017 --headless=true --api-version=2 --accept-multiclient --check-go-version=false exec /data/dev/idcdb/Cmdb/conf_dev/Cmdb – -config=/data/dev/idcdb/Cmdb/Cmdb.conf
root 23111 23105 0 17:28 pts/0 00:00:00 /data/dev/idcdb/Cmdb/conf_dev/Cmdb -config=/data/dev/idcdb/Cmdb/Cmdb.conf
root 23122 12716 0 17:28 pts/1 00:00:00 grep --color=auto Cmdb

2 . 开发机goland操作

2.1 代码自动上传更新

在这里插入图片描述

2.2 goland 的 Go Remote设置

程序的编译和启动尽量按照IDE的提示说明进行. 在 GoLand 中点击菜单栏 Run -> EditConfigurations -> + -> GoRemote. 我们将看到如下界面. 中间为编译及启动说明.
在这里插入图片描述

在这里插入图片描述

每次点击"Debug" 都要 确保 远程运行“dlv --listen” (见上述1.3 dlv 运行并监听程序 )

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/swingLau007/article/details/124104110
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2022-12-29 21:13:51
  • 阅读 ( 390 )
  • 分类:Goland

0 条评论

请先 登录 后评论

官方社群

GO教程

推荐文章

猜你喜欢