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
01_GoLand debug时出现Connected并且程序卡住的问题的更多相关文章
- 运行vs2010,Debug时发生“无法启动程序"http://localhost:xxx",系统找不到指定文件
网上参考回答:应该是Visual Studio不能启动浏览器导致的结果!第一种结果是没有设置默认的浏览器,第二种情况是注册表被修改了! 我的尝试: 1.在启动处点击下三角,选择“使用以下浏览器浏览” ...
- eclipse调试debug时出现source not found
eclipse调试debug时出现source not found 在代码中设置了断点,程序调试过程中可以继续运行使用断点,但是看不见程序走到哪了,debug页面出现source not found, ...
- 如何修改Eclipse在Debug时背景色
比较喜欢暗色的Eclipse主题,安装了Eclipse color theme,使用了Oblivion这个黑色背景的主题. 更换了暗色的Eclipse主题后,Debug时看不清文字: 需要更背景颜色, ...
- 用eclipse javaEE编程时,不管什么程序都会出现这个错误[SetContextPropertiesRule]{Context} Setting property 'source' to 'org.eclipse.jst.jee.server:bookstore' did not find
用eclipse javaEE编程时,不管什么程序都会出现这个错误[SetContextPropertiesRule]{Context} Setting property 'source' to 'o ...
- (转)log4j日志级别设置成DEBUG时输出Html代码等问题:
log4j日志级别设置成DEBUG时输出Html代码等问题: 问题: log4j日志级别设置成DEBUG时会输出很多信息,包括一些Html代码 解决方案: log4j的控制是树形,所以在log4j.p ...
- IntelliJ IDEA 调试(debug)时非常慢的原因
IntelliJ IDEA 开发时,发现有时Debug时tomcat启动的非常慢,需要等待超过20分钟,但有时就很快,经查找发现是断点设置问题, 若断点设置在方法名上,debug时就会非常慢, 如图 ...
- [bug]”System.InvalidProgramException:公共语言运行时检测到无效程序“解决方案
Visual Studio 2017版本15.8.x运行某些程序会报这样的错误:“System.InvalidProgramException:公共语言运行时检测到无效程序” 此问题的临时解决方案: ...
- Debug时含有的子元素,在代码里获取不到的问题
比如,Debug时如下图展示: 我想要获取的是:ansList.get(i).getComponent().getConnectorId() debug时明明有这个元素,但是当我写出来的时候却发现:a ...
- Eclipse调试DEBUG时快速查看某个变量的值的快捷键、快速跳转到某行的快捷键
Eclipse调试DEBUG时快速查看某个变量的值的快捷键 Ctrl + Shift + i
- vs2015 编译时项目出现NuGet程序包还原失败,找不到xxx.xxx.xxx版本的程序包,怎么解决这个问题?
vs2015 编译时出现这个NuGet程序包还原失败问题,项目还是运行得了,就是每次看到错误列表中有很多个错误,就感觉不舒服. 总算被我找到解决方法了 问题截图:
随机推荐
- 如何在vscode中同时运行多个文件——server/client模式——在launch.json文件中设置多个configurations再compounds
在vscode中我们一般都是同一时间只运行一个代码,但是这种设置并不适合server/client模式,甚至有很多分布式和并行的项目需要同一时间运行多个client,针对这种情况我们可以通过设置vsc ...
- GPL前世今生
从事Linux开发的朋友一定都听过GPL,那么到底什么是GPL呢?他有什么作用呢?本文给大家做详细讲解. 一.GNU/GPL 在讲解GPL之前,我们必须先了解什么是GNU? 1. 什么是GNU GNU ...
- String, StringBuffer 和 StringBuilder之间的区别
String, StringBuffer 和 StringBuilder 可变性 String不可变 StringBuffer 和 StringBuilder 可变 线程安全 String 不可变,因 ...
- iPhone 打不开 Apple News 解决方法
想看 Apple News,但是在主屏幕找不到,在 App Store 搜索 Apple News 后打开时显示访问控制已启用,然而在设置中检查发现访问控制并没有启用. 经过一番摸索,发现这个访问控制 ...
- ArgoWorkflow教程(三)---使用 Artifacts 实现步骤间文件共享
上一篇我们分析了 Workflow.WorkflowTemplate.template 之间的关系.本篇主要分析如何在 argo-workflow 中使用 S3 存储 artifact 实现步骤之间的 ...
- JMeter手机app录制
在移动应用的性能测试中,如何准确.全面地捕捉用户操作并生成可复用的测试脚本,始终是测试工程师面临的一大挑战.而JMeter,作为一款功能强大的开源性能测试工具,不仅在Web测试中表现优异,在手机App ...
- .NET 8 Moq mock GetRequiredKeyedService Setup报错
.NET 8 Moq mock GetRequiredKeyedService Setup报错 代码有地方用到了IServiceProvider.GetRequiredKeyedService来解析服 ...
- Linq操作XML生成XML,实体生成XML和互转
开发接口中难免会遇到一些数据对接需要转换城xml,看到很多之前的代码都使用很传统的方法循环集合并定义xml后一一生成的,代码之封锁 特此使用了简单易用linq操作分享给大家,希望可以帮到需要的同学 今 ...
- 18 Python如何操作文件?
本篇是 Python 系列教程第 18 篇,更多内容敬请访问我的 Python 合集 1 打开文件 通常使用内置的 open(文件路径, 模式, encoding="utf-8") ...
- Qt 中实现异步散列器
[写在前面] 在很多工作中,我们需要计算数据或者文件的散列值,例如登录或下载文件. 而在 Qt 中,负责这项工作的类为 QCryptographicHash. 关于 QCryptographicHas ...