Bootstrap

go dlv idea 远程调试-入门级

一,准备工作

linux 安装dlv

git clone https://github.com/go-delve/delve.git $GOPATH/src/github.com/go-delve/delve
cd $GOPATH/src/github.com/go-delve/delve
make install

echo 'export PATH=$PATH:$GOPATH/bin' >> ~/.bashrc

## 测试是否安装成功
dlv version

idea 安装 go插件,很简单:file->Settings->Plugins然后输入 go安装就行
在这里插入图片描述

二.配置远程环境

1.打开idea, 并按键 shift+alt +F9 打开,会弹出下图的 debug窗口,点击 0 -Edit Configurations
在这里插入图片描述
2. 然后点击 右上角+ 按钮,选择 go remote
在这里插入图片描述

3.写入调试参数
Name: 就是名字,这里可以写 test
Host:这个是要远程调试的服务器ip
Post: 端口号,随便填不冲突就行
连接方式选 ask
然后点击apply,再点击Debug

在这里插入图片描述

三、开始调试

1.编写代码

test.go

package main

import "fmt"
func main() {
	fmt.Printf("开始调试\n")
	var a int32
	fmt.Scanf("%d", &a)
	fmt.Printf("结束调试\n")

}

calldlv.sh (这个是调用dlv 的脚本,里面的8001就是上面填的端口)

#!/bin/bash
pid=`ps -ef |grep test |grep -v grep |grep -v bash|awk '{print $2}'`
dlv attach $pid --headless --api-version=2 --log --listen=:8001

2.执行代码

编译并执行 go

go build test.go
./test

在这里插入图片描述

执行 calldlv

./calldlv

在这里插入图片描述

3. idea调试

1.按 alt+shift +F9,选择之前填写好的bug配置
在这里插入图片描述

2 打开之后如果是这样的就显示连接 dlv成功了(如果dlv是后启动的,点击红框那行第一个按钮可重新连接)

在这里插入图片描述

  1. 然后打开test.go ,对指定行数点击,断点
    在这里插入图片描述
    4.触发断点
    回到 test 程序指定的地方,随便输入一个数,回车,这个时候idea会立刻弹出(或者闪动)
    然后我们就可以看到断点的具体参数了
    在这里插入图片描述
    5.跳过当前断点
    点击
    在这里插入图片描述
    然后程序会往下执行
    在这里插入图片描述
    ok,大功告成!!!
;