使用Goland Debug Apinto微服务网关

前言

Apinto自发布以来,因它拥有优异的性能表现,可插拔的插件机制,高可用的集群设计等优点,得到了广大用户的亲睐。

其中,有部分使用者更是想基于Apinto进行二次开发和迭代,但由于Apinto是多进程程序,传统方法不方便debug排查,造成开发上排查问题困难。

为此,我们总结了不同系统Debug Apinto的方法,期望能够更好地帮助大家进行学习和开发。

不同系统debug方式大同小异,windows也可以进行debug,不过需要安装wsl2、ubuntu和可视化界面,相对比较麻烦。
前提

环境描述

操作系统:linux/mac

Golang版本:1.17及其以上

IDEA:Goland

Linux

1、安装最新的gops
go install github.com/google/gops@latest
2、编写启动配置

上图红框处需要特别注意,需要和图中保持一致,此处设置了环境变量APINTO_DEBUG=true,开启Apinto的Debug模式。

如果选择在命令行编译程序,则在编译需要携带-gcflags="all=-N -l"参数,如下

go build -gcflags="all=-N -l" -o apinto

此文不再说明命令行编译程序的debug方法。

3、运行程序


此处需要选择Debug的按钮

4、Attach To Process

在弹出的进程列表中选择需要Debug的进程即可

注意 : Debug模式开启后,master进程名称为“apinto start”,当Debug模式关闭,master进程名称为“apinto: master”

Windows

由于Apinto 在实现restart、stop操作时,需要使用到linux系统的信号指令,Windows 上没有相关指令的支持,因此Apinto 不能直接在Windows 上编译运行。

若想在Windows 上启动,则需要在Windows 上安装Ubuntu 子系统。

安装ubuntu子系统

1、安装部署WSL2:安装WSL(一定要升级到WSL2,否则会有些不兼容的问题)

2、安装ubuntu可视化界面,具体教程请参考Ubuntu安装可视化界面

3、Debug程序,Linux Debug方法一致

MAC

与Linux Debug方法一致,若在arm架构上attach失败,无法找到对应的apinto进程,可以先将gops删除,再重新安装。

go install github.com/google/gops@latest
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值