当前位置: 首页 > news >正文

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.gitcd delvego install github.com/go-delve/delve/cmd/dlv

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

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

image-20230901161358207

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

 dlv version
Delve Debugger
Version: 1.21.0
Build: $Id: fec0d226b2c2cce1567d5f59169660cf61dc1efe $
  1. 编写测试文件
package mainimport ("fmt""runtime"
)func main() {fmt.Println("Hello Go")showOS()
}func showOS() {os := runtime.GOOSfmt.Println("当前操作系统是:", os)
}

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

http://www.lryc.cn/news/156345.html

相关文章:

  • react使用hook封装一个search+input+checkbox组件
  • 【6】uniform颜色写入
  • 自然语言处理历史史诗:NLP的范式演变与Python全实现
  • 网络协议从入门到底层原理学习(二)—— Mac地址/IP地址
  • 2023开学礼中国海洋大学《乡村振兴战略下传统村落文化旅游设计》许少辉新海洋图书馆
  • WebClient vs HttpClient:异同对比
  • ES6中导入import导出export
  • 【MySQlL学习笔记】(九)内外连接
  • 敦煌https证书能做些什么
  • React笔记(六)React路由
  • 【算法系列篇】分治-归并
  • word导出为HTML格式教程,同时也导出图片
  • 事务的优化
  • VMware虚拟机安装_新虚拟机创建_CentOS镜像导入_linux指令基本操作
  • Git常用命令用法
  • 电子元器件采购的数字化转型:智能采购工具的应用
  • 【RuoYi移动端】uni-app中通过vuex的store来实现全局变量的修改和读取
  • IPv6改造深化之路
  • atoi(),isdigit(),isspace(),round()源码
  • C# 播放音频文件(播放提示音)
  • 一种编程语言,
  • 云原生Kubernetes:K8S常用服务端口
  • clickhouse调优配置
  • pdf文件打开后部分文字无法显示
  • MCS-51单片机温度控制系统的设计
  • Xcode,swift:Error Domain=kCLErrorDomain Code=1 (null)问题解决
  • 0013Java程序设计-springboot教材图文内容审核系统
  • Unable to remove Temporary User Data
  • Rocky(Centos)安装中文字体(防止中文乱码)
  • O2OA(翱途)开发平台 V8.1正式发布