• GO远程构建并调试


    GO远程调试

    之前写C++,一直习惯了本地IDE+Remote CMake/GDB编译调试的模式。

    因为6.824课程需要用GO,好像没有特别好的支持。记录一下如何配置调试的。


    IDE: Goland

    操作系统:Windows

    远程服务器:Ubuntu

    1. 首先配置SSH,让其可以连接到服务器

    image-20230901093829409

    1. 配置部署。选择SFTP。在映射中选择上传的路径。

    image-20230901093937968

    这样就实现了本地和服务器文件的同步

    1. 在服务器上安装delve

    因为是ubuntu,我是直接sudo apt install delve就能进行安装。

    但是后面发现直接这样安装的话版本有冲突

    然后使用dlv version进行安装检查

    使用源码进行安装:

    cd ~
    
    git clone git@github.com:go-delve/delve.git
    
    cd delve
    
    go install github.com/go-delve/delve/cmd/dlv
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    这个时候在你的go目录下,(比如我的是~/go/bin)会出现名字叫dlv的可执行文件。

    然后将该路径添加到环境变量就行了。

    image-20230901161358207

    此时dlv version可以正确显示版本

     dlv version
    Delve Debugger
    Version: 1.21.0
    Build: $Id: fec0d226b2c2cce1567d5f59169660cf61dc1efe $
    
    • 1
    • 2
    • 3
    • 4
    1. 编写测试文件
    package main
    
    import (
        "fmt"
        "runtime"
    )
    
    func main() {
        fmt.Println("Hello Go")
        showOS()
    }
    
    func showOS() {
        os := runtime.GOOS
        fmt.Println("当前操作系统是:", os)
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    image-20230901094548982

    测试代码说明:创建目录test,并且创建go.mod文件。


    1. 配置Go Remote

    image-20230901094742377

    然后使用终端进入你的服务器代码路径,比如我的是~/projects/6.824/test/hello

    按照提示运行

    dlv debug --headless --listen=:2345 --api-version=2 --accept-multiclient

    1. 进行运行配置

    这里运行于选择之前部署的服务器。然后在远程目标上构建

    image-20230901162914900

    1. 进行调试

    可以看到,此时已经可以在服务器上构建并单步调试代码了image-20230901163123113

  • 相关阅读:
    Hive【Hive(三)查询语句】
    如何进行资源同步(阁瑞钛伦特软件-九耶实训)
    基于Python班级管理系统毕业设计-附源码171809
    Android 启动关闭GMS包
    经典c程序100例==61--100
    IronPDF v2023.5.8 For .NET Crack
    韩顺平-多态
    想学设计模式、想搞架构设计,先学学 UML 系统建模吧
    C语言----深入理解指针(5)
    普通的网络工程专业学生,我是如何考取HCIP进入大厂的
  • 原文地址:https://blog.csdn.net/AntiO2/article/details/132626815