当前位置: 首页 > 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

相关文章:

GO远程构建并调试

GO远程调试 之前写C,一直习惯了本地IDERemote CMake/GDB编译调试的模式。 因为6.824课程需要用GO,好像没有特别好的支持。记录一下如何配置调试的。 IDE: Goland 操作系统:Windows 远程服务器:Ubuntu 首先配置SSH,让其可以连接到…...

react使用hook封装一个search+input+checkbox组件

目录 react使用hook封装一个searchinputcheckbox组件searchPro.jsx使用组件效果 react使用hook封装一个searchinputcheckbox组件 searchPro.jsx import { Checkbox, Input } from "antd"; import React, { useEffect, useState } from "react"; import S…...

【6】uniform颜色写入

之前的Basic.shader: #shader vertex #version 330 corelayout(location 0) in vec4 position;void main() {gl_Position position; };#shader fragment #version 330 corelayout(location 0) out vec4 color;void main() {color vec4(1.0, 0.0, 0.0, 1.0); };这里color …...

自然语言处理历史史诗:NLP的范式演变与Python全实现

目录 一、引言什么是自然语言处理?语言与人类思维自然语言的复杂性NLP的历史轨迹 二、20世纪50年代末到60年代的初创期符号学派重要的研究和突破 随机学派重要的研究和突破 三、20世纪70年代到80年代的理性主义时代基于逻辑的范式重要的研究和突破 基于规则的范式重…...

网络协议从入门到底层原理学习(二)—— Mac地址/IP地址

文章目录 网络协议从入门到底层原理学习(二)—— Mac地址/IP地址1、MAC地址2、MAC地址的表示格式3、MAC地址表4、MAC地址操作5、MAC地址的获取6、ARP7、ICMP8、IP地址9、IP地址的分类和格式10、不同分类的IP地址的范围11、特殊 IP 地址12、子网掩码13、子…...

2023开学礼中国海洋大学《乡村振兴战略下传统村落文化旅游设计》许少辉新海洋图书馆

2023开学礼中国海洋大学《乡村振兴战略下传统村落文化旅游设计》许少辉新海洋图书馆...

WebClient vs HttpClient:异同对比

在 Java 开发中,进行网络通信是常见的需求。WebClient 和 HttpClient 是两种常用的用于发送 HTTP 请求的工具。它们都具有相似的功能,但在实现细节和用法上存在一些差异。本文将详细介绍 WebClient 和 HttpClient 的异同,帮助您选择适合您项目…...

ES6中导入import导出export

ES6使用 export 和 import 来导出、导入模块 用法 /** 导出 export *///分别导出 export let name 孙悟空; export function sum(a, b) {return a b; } } //先定义再导出 let age 18 export {age}/** 默认导出 export default */const a 默认导出; export default a;/**…...

【MySQlL学习笔记】(九)内外连接

内外连接 内连接外连接左外连接右外连接 表的连接分为内连和外连 内连接 内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选,我们前面学习的查询都是内连接,也是在开发过程中使用的最多的连接查询。 语法: select 字段 from 表…...

敦煌https证书能做些什么

随着互联网技术的不断发展,人们的生活方式和社交方式也发生了巨大的变化。互联网已经成为人们生活中不可或缺的一部分,它不仅提供了方便快捷的信息获取方式,还为人们提供了一个全新的社交平台。 然而,随着互联网的不断发展&#x…...

React笔记(六)React路由

一、React路由简介 React 官方并没有提供对应的路由插件,因此,我们需要下载第三方的路由插件 —— React Router DOM。 React Router 在 2021 年 11 月份的时候更新 v6 的版本。本次课就主要讲解V6版本 二、路由配置 1、下载路由 在项目根目录中&am…...

【算法系列篇】分治-归并

文章目录 前言什么是归并算法1. 排序数组1.1 题目要求1.2 做题思路1.3 Java代码实现 2. 数组中逆序对2.1 题目要求2.2 做题思路2.3 Java代码实现 3. 计算右侧小于当前元素的个数3.1 题目要求3.2 做题思路3.3 Java代码实现 4. 翻转对4.1 题目要求4.2 做题思路4.3 Java代码实现 总…...

word导出为HTML格式教程,同时也导出图片

在写文档教程时,有时需要借鉴人家的专业文档内容,一般都是word格式文档。word直接复制里面的内容,帐帖到网站编辑器会有很多问题,需要二次清楚下格式才行,而且图片是没办法直接复制到编辑器内的。所以最方便的办法是将…...

事务的优化

例子: 举例:假设我们有一个文件上传的uploadFile方法,在这个方法中我们会先执行上传一个文件到分布式文件系统中的方法addMediaFilesToMinIO( ),上传成功后执行文件资源数据入库的addMediaFilesToDb( ),那么这个时候事务应该加在哪…...

VMware虚拟机安装_新虚拟机创建_CentOS镜像导入_linux指令基本操作

文章目录 1 VMware下载安装1.1 下载网址1.2 安装步骤 2 创建虚拟机与CentOS镜像导入2.1 创建新虚拟机2.2 导入CentOS镜像 3 获取ip与连接Xshell3.1 查看虚拟机ip地址3.2 Xshell使用 1 VMware下载安装 1.1 下载网址 https://www.vmware.com/cn/products/workstation-pro/works…...

Git常用命令用法

参考视频:真的是全能保姆 git、github 保姆级教程入门,工作和协作必备技术,github提交pr - pull request_哔哩哔哩_bilibili 1.Git初始化 首先设置名称和邮箱。然后初始化一下,然后就创建了一个空的Git仓库。 PS D:\golang\oth…...

电子元器件采购的数字化转型:智能采购工具的应用

电子元器件采购的数字化转型是采购领域的一项重要趋势,智能采购工具的应用在此过程中发挥了关键作用。以下是智能采购工具在电子元器件采购数字化转型中的应用方面的一些关键点: 供应链可见性: 智能采购工具可以提供对供应链的实时可见性。通…...

【RuoYi移动端】uni-app中通过vuex的store来实现全局变量的修改和读取

一、在store文件中新建csjVar.js文件 const csjVar {csjMess: [{aaa:"ok"},{bbb:"no"}] } export default csjVar 二、修改store文件中新建index.js文件 import Vue from vue import Vuex from vuex import user from /store/modules/user import gette…...

IPv6改造深化之路

01 IPv6改造问题及整体改造思路 随着“十四五”期间国家政策对IPv6深化改造及规模部署的推动,在IPv6改造过程中出现了越来越多的系统性问题,如图1所示。 图1 关于IPv6改造的各种疑问所有跨设备通信的IT软硬件系统均需要处理IP地址,各领域均需…...

atoi(),isdigit(),isspace(),round()源码

atoi()是一个C标准库函数,用于将字符串转换为对应的整数。 以下是atoi()函数的一种简化版本的示例实现: int atoi(const char* str) {int result 0;int sign 1;int i 0;// 处理空格while (isspace(str[i])) {i;}// 处理正负号if (str[i] - || str[…...

告别性能枷锁:Lenovo Legion Toolkit如何让游戏本释放真正潜力

告别性能枷锁:Lenovo Legion Toolkit如何让游戏本释放真正潜力 【免费下载链接】LenovoLegionToolkit Lightweight Lenovo Vantage and Hotkeys replacement for Lenovo Legion laptops. 项目地址: https://gitcode.com/gh_mirrors/le/LenovoLegionToolkit 在…...

告别兼容性烦恼:在Windows 11上为特定网站配置专属IE访问环境的完整指南

告别兼容性烦恼:在Windows 11上为特定网站配置专属IE访问环境的完整指南 当Windows 11彻底移除了IE浏览器的桌面入口,许多依赖特定网站的企业用户、财务人员和政府工作人员陷入了困境。那些仅兼容IE的老旧系统——从企业内部OA到税务申报平台&#xff0c…...

InnoDB的“身体结构”:页、Buffer Pool与Redo Log的底层奥秘

欢迎来到MySQL InnoDB存储引擎的“解剖室”;很多人每天都在写SQL,却从未见过数据在磁盘上真正的模样。当面试官问:“为什么InnoDB比MyISAM快?”或者“数据库宕机了,数据是怎么恢复的?”如果你只能回答“因为…...

从OBS源码看WASAPI实战:Windows音频采集的‘静音循环’修复与高精度时间戳处理

从OBS源码剖析WASAPI音频采集:静音循环修复与高精度时间戳的工程实践 在直播软件OBS的音频处理模块中,WASAPI接口的高效运用直接决定了音画同步质量与系统资源占用率。本文将深入OBS源码,揭示其解决Windows音频采集两大核心难题的技术方案&am…...

微信好友关系检测工具:如何识别单向好友并优化通讯录管理

微信好友关系检测工具:如何识别单向好友并优化通讯录管理 【免费下载链接】WechatRealFriends 微信好友关系一键检测,基于微信ipad协议,看看有没有朋友偷偷删掉或者拉黑你 项目地址: https://gitcode.com/gh_mirrors/we/WechatRealFriends …...

ShaderGlass在OBS直播中的高级用法:打造视觉震撼的实时画面效果

ShaderGlass在OBS直播中的高级用法:打造视觉震撼的实时画面效果 【免费下载链接】ShaderGlass Overlay for running GPU shaders on top of Windows desktop 项目地址: https://gitcode.com/gh_mirrors/sh/ShaderGlass ShaderGlass是一款能在Windows桌面上运…...

Qt 6.5 + DeepSeek API 流式聊天实战:手把手教你打造一个带记忆的桌面AI助手

Qt 6.5 DeepSeek API 流式聊天实战:打造带记忆的桌面AI助手 在当今软件开发领域,AI助手的集成已成为提升用户体验的重要趋势。想象一下,在你的代码编辑器或笔记软件中,有一个能理解上下文、实时响应且具备记忆能力的智能助手&…...

OpenClaw 配置 scnet API 完整指南 - 被低估的国产大模型 API

OpenClaw 配置 scn# OpenClaw 配置 scnet API 完整指南 写在前面 如果你正在使用 OpenClaw,相信你已经对 AI Agent 有了深入的了解。但在模型选择上,很多人只知道 OpenAI、OpenRouter,却忽视了一个非常优秀的国产选择 —— scnet。 本文将…...

ComfyUI-Easy-Use:如何高效管理GPU资源并优化深度学习推理性能

ComfyUI-Easy-Use:如何高效管理GPU资源并优化深度学习推理性能 【免费下载链接】ComfyUI-Easy-Use In order to make it easier to use the ComfyUI, I have made some optimizations and integrations to some commonly used nodes. 项目地址: https://gitcode.c…...

2026最新!AI论文软件测评:这几款让你写作更高效

2026年真正好用的AI论文软件,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…...