如何通过GoLand进行Debug
如何通过GoLand调试go程序?
可以分两种情况:
第一种是普通不需要传参数的程序的调试
第二种是需要传一些参数才能运行的程序的调试
1、不需要传参数的程序如何Debug
先随便写一个简单的程序如下:
假设我们现在要调试这个程序,如何搞呢?首先先打个断点
然后点击一下绿色箭头会出现下面这样
接着点击那个绿色小虫子就可以开启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 传过来的参数,说明调试这个接口成功了,至此,大功告成。