如何通过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 传过来的参数,说明调试这个接口成功了,至此,大功告成。

在这里插入图片描述