如何通过GoLand进行Debug
如何通过GoLand调试go程序?
可以分两种情况:
第一种是普通不需要传参数的程序的调试
第二种是需要传一些参数才能运行的程序的调试
1、不需要传参数的程序如何Debug
先随便写一个简单的程序如下:
func main() {a := 1b := 2val := a + bfmt.Println(val)
}
假设我们现在要调试这个程序,如何搞呢?首先先打个断点
然后点击一下绿色箭头会出现下面这样
接着点击那个绿色小虫子就可以开启debug模式了,启动之后如下图,此时我们就可以在调试窗口看到各个变量的值了。
插播一条重要信息
debug模式启动后,上面图片里各种图标都代表什么功能?
从上到下依次代表:
1、重启debug
2、设置运行配置
3、跳到下一个断点处
4、暂停
5、结束debug
6、查看本项目所有断点位置
7、在有断点的地方跳过断点
从左到右依次代表:
1、调试代码的窗口
2、点击这个会直接光标会直接停到你打断点的那行代码上
3、下一步,如果是方法它不会跳进去,只是一行一行往下走
4、跳转到详情,比如这行代码调用了一个方法,它就可以追到方法里去,看这个方法具体的执行情况
5、从详情跳出去,与 4 相反
6、跳转到下一个断点,比如现在有两个断点,目前程序停在了断点1处,那么点击这个就会直接跳转到断点2
好了,至此,简单的调试方法你已经掌握了,那么接下来看点高级的玩法
2、需要传参数才能运行的程序如何Debug
比如我现在要调试 fis-capacity 这个服务中的某个接口,这个接口需要传一些参数,此时又该怎么玩呢?
首先,打开你的项目,单击右上角这里 Add Configuration 添加配置
然后,点击弹出界面的加号
接着点击 Go Build
之后会看到下面这个界面,主要会用到下面这几个红框圈里的选项,从上到下简单介绍下它们都代表什么含义
Run Kind:一般设置为File
Files:main文件的主入口
Output directory:设置编译后生成的可执行文件的存放目录,为空时默认不生成可执行文件
Run after build:先build生成二进制文件,再执行
Working directory:表示工作文件夹
Environment:环境变量,点开之可以添加运行要调试的这个程序所需的环境变量
其他的选项默认即可,具体作用自行研究下吧。
配置完以后就可以进行调试了,假设我们需要调试fis-capacity 服务中的api/cap/v2/capacity/get接口,先在该接口的controller层的方法打一个断点
然后点击右上角的绿色小虫子按钮启动调试模式
出现类似下面的页面就说明启动成功啦
那此时如何向这个接口传入要测试的参数呢?此时需要借助postman工具,请求地址大家根据自己测试的服务端口号自行更改
然后单击send发送请求,此时我们在回到GoLand,可以看到程序已经停在了刚才打断点的地方
看,在这里接收到了从 postman 传过来的参数,说明调试这个接口成功了,至此,大功告成。
如何通过GoLand进行Debug相关推荐
- Windows下Goland的Debug显示“frames are not available“
goland在添加短点debug时候,显示"frames are not available",解决方法: 1.下载go-delve/delve git clone https:/ ...
- 启动go服务_go微服务框架go-micro深度学习 rpc方法调用过程详解
摘要: 上一篇帖子go微服务框架go-micro深度学习(三) Registry服务的注册和发现详细解释了go-micro是如何做服务注册和发现在,服务端注册server信息,client获取serv ...
- Goland DEBUG报错(could not launch process: decoding dwarf section info at offset 0x0: too short)
问题: 升级GO版本到1.13.4后发现Goland(版本:goland 2017)的Debug报错,如下:could not launch process: decoding dwarf secti ...
- goland debug Got a connection, launched process /private/var/folders/l9/
把你docker关了 如果你是mac M1芯片 程序要运行 golang 下载 armv8架构 程序要debug 下载aarch架构goland
- 如何使用 dlv 结合 Goland 进行程序 debug 调试
如何使用 dlv 结合 Goland 进行程序 debug 调试 相信很多 Golang 的初级玩家不会进行程序的 Debug 定位问题单纯的靠脑子,或者效率很低的不断的添加日志打印,别问我为什么知道 ...
- Goland Debug出现Test framework quit unexpectedly
出现问题 在使用goland进行开发过程中,使用Debug模式进行调试出现Test framework quit unexpectedly错误提示 解决办法 因为在Goland的Variables一直 ...
- goland dlv 进行remote debug实验
背景 因为平时服务都运行在linux服务器上面,有时测试环境出现问题,需要在测试环境进行debug,因此进行如下实验,验证如何使用goland+dlv进行远程调测 工具 goland.dlv 工具安装 ...
- Version of Delve is too old for this version of Go【Goland Debug】报错
最近升级了 Go 到 1.14,发现使用 Goland debug 程序的时候报错了.完整的报错信息如下. API server listening at: 127.0.0.1:53951 Versi ...
- 解决M1芯片 MAC 下 Goland(Intellij系列都适用) 无法 Debug 的问题
解决M1芯片 MAC 下 Goland(Intellij系列都适用) 无法 Debug 的问题 解决M1芯片 MAC 下 Goland(Intellij系列都适用) 无法 Debug 的问题 报错信息 ...
- goland debug高级技巧
1. 自定义表达式 我们在debug期间想动态修改某个值,或查看某个函数返回的信息可以采用该方式 点击这个,或按快捷键 option + fn + F8 则会弹出下面弹窗,在该处可自定义一些表达式进行 ...
最新文章
- 确定神经网络层数以及神经元个数
- viewpager初始化fragment没有绘制_Fragment在ViewPager中的正确应用(3)FragmentStatePagerAdapter优化了什么...
- 如何给网红变现?Instagram正在尝试一种全新的方式
- Java-Map从入门到性能分析1【Map初识、Map通用方法、HashMap的使用(遍历方法、性能分析)】
- Hibernate----Hibernate小配置
- Bootstrap 源码版文件结构
- 一主多备几影响 oracle,Oracle 10g 一主多备的搭建技巧
- linux 系统调优查看排除方法
- ROS学习笔记2(ROS文件系统和ROS常用命令)
- mysql 内存表 速度_mysql查询速度。为什么用内存表查询tmp表比直接选择慢?
- LINQ分组查询统计
- Java下载安装与环境配置
- visio for android,iPad版的Visio Viewer发布:移动端也能查看Visio文档啦
- oracle ebs教学视频教程,Oracle EBS教学视频
- 德标螺纹规格对照表_(完整word版)德标与国标对照表
- js中获得月份getmonth()+1,为什么要加1?
- 低秩矩阵RPCA MATLAB,低秩矩阵分解
- linuxoracle图形界面无法跳出_Linux 7图形化安装Oracle或者其他软件,打不开图形界面的问题 | 信春哥,系统稳,闭眼上线不回滚!...
- java丐帮_java多线程学习笔记(二)
- 白羊老师计算机网课,你网课作业写完了吗?每一个赶DDL的日子都是痛并快乐着...
热门文章
- maven 绑定html压缩,Maven使用yuicompressor-maven-plugin打包压缩css、js文件
- pe_xscan 做了1处改进
- 基于Packet Tracer 的校园网络设计方案(计算机网络与课程实验)(一)——子网划分方案规划
- linux多线程编程书籍推荐:linux大牛之路从这几本书开始总结
- JSON cannot be resolved 解决方法
- ArcMap图例横放教程
- python抓取微博数据_技术入门 | python利用微博api获取数据
- 关于@JsonView的使用心得及一些隐蔽的注意事项
- 淘淘商城第1讲——你给介绍介绍,什么叫淘淘商城?
- 用好这两大office模板资源网,办公轻松又高效