01_GoLand debug时出现Connected并且程序卡住的问题

01_GoLand debug时出现Connected并且程序卡住的问题

环境:win10、go version go1.19.4 windows/amd64、GoLand 2020.3.5 x64

现象 : 在 debug 模式下运行项目,打上断点后,可以进入断点位置,也可以跳转到下个断点,但是,在逐步执行时,会发生卡住不动的情况,并且控制台提示 Connected

解决思路

1、怀疑是分配给GoLandsh的内存太小,于是打开了GoLand的安装目录下的 goland.exe.vmoptions 文件 修改最大内存树和最小内存数-Xmx、-Xms,这两个值可以根据自己电脑的内存大小来适当的分配,我这里分别是 8192m 和 4096m(虽然我的内存只要16G)

-Xms4096m
-Xmx8192m

修改后响应确实速度确实提高了,但是,问题仍然存在

2、百度,发现有的博主说,是GoLand自带的debug程序有些问题,需要自己装一个debug应用,再让GoLand来通过这个应用执行debug就可以解决了,方法如下:

命令行打开, 安装了 git的同学可以直接执行一下命令,

git clone https://github.com/go-delve/delve.git
cd delve/cmd/dlv/
go build # 编译会产生 一个 dlv.exe 可执行程序
go install # 这条命令会将 dlv.exe 移动到 我们的 GOPATH/bin 目录下

没有安装好 Git的同学可以直接访问https://github.com/go-delve/delve.git获得压缩包后解压再来执行 go 命令

最后还要设置一下GoLand

查到的结果有一条是设置 Help → Edit Custom VM Options (如果没有设置过会弹出窗口让你新建,确认就行

然后就是 在里面添加一句 dlv.path=$GOPATH/bin/dlv 即可

但是,这样操作了之后解析不出正确地址,debug无法执行,并且解析的地址总会带上GoLand自己的bin目录作为前缀,如下图

所以我选择了另外的思路,直接在 GoLand 安装目录下的 idea.properties中 添加上dlv.path=dlv路径这句代码,解决了这个问题。

因为 使用 Help → Edit Custom VM Options 也只是另外创建一个给用户的 idea.properties 文件而已,而改Goland 自带的 idea.properties更为直接。当然里面的内容最好还是不要乱改,避免出现一些莫名其妙的错误

可能是我的GoLand的GOPATH没设置好,所以 $GOPATH 总是解析不出来,但是打开setting有没有发现什么异常所以我直接配置了 文件路径

参考:https://blog.csdn.net/jayxujia123/article/details/120921516

作者:OwlInTheOaktree原文地址:https://www.cnblogs.com/OwlInTheOaktree/p/17225180.html

%s 个评论

要回复文章请先登录注册