go dlv idea 远程调试-入门级

news2024/11/18 8:45:13

一,准备工作

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,大功告成!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2177930.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【OS】计算机系统概述|操作系统基本概念|并发|并行|虚拟异步

✨ Blog’s 主页: 白乐天_ξ( ✿>◡❛) 🌈 个人Motto:他强任他强,清风拂山冈! 🔥 所属专栏:C深入学习笔记 💫 欢迎来到我的学习笔记! 前言 一、操作系统的概念 操作系统…

DVWA | File Inclusion(文件包含)渗透测试

概念: 漏洞产生原因: 主要是由于开发人员没有对用户输入的文件路径进行严格的过滤和验证。例如,如果一个 Web 应用程序接受用户输入的文件路径,然后使用这个路径进行文件包含,而没有对用户输入进行任何检查&#xff0c…

【SOP】Windows下安装Neo4j流程

Neo4j简介 Neo4j 是一个基于图形结构的 NoSQL 数据库,专门用于存储和管理图数据。与传统的关系型数据库不同,Neo4j 使用 图(graph)的形式来表示数据,其中数据点(称为 节点)通过 边(…

CHI trans--Home节点发起的操作

总目录: CHI协议简读汇总-CSDN博客https://blog.csdn.net/zhangshangjie1/article/details/131877216 Home节点能够发起的操作,包含如下几类: Home to Subordinate Read transactionsHome to Subordinate Write transactionsHome to Subor…

uniapp学习(001 介绍-安装等)

零基础入门uniapp Vue3组合式API版本到咸虾米壁纸项目实战,开发打包微信小程序、抖音小程序、H5、安卓APP客户端等 总时长 23:40:00 共116P 此文章包含第1p-第p4的内容 文章目录 创建项目目录结构效果下载微信小程序开发者工具在hbuilderX里配置开发者工具找到安全…

D22【python接口自动化学习】-python基础之判断与循环

day22 if语句的定义 学习日期:20240928 学习目标:内置数据类型--32 if语句:数据流程出现分支时,怎样编写程序? 学习笔记: 条件判断的用途 需求分析 真假值用布尔型表达 # if语句基本写法 if True:print…

技术速递|Python in Visual Studio Code 2024年9月发布

排版:Alan Wang 我们很高兴地宣布将于 2024 年 9 月发布适用于 Visual Studio Code 的 Python 和 Jupyter 扩展! 此版本包括以下公告: Django 单元测试支持使用 Pylance 从 inlay 提示转到定义 如果您有兴趣,可以在我们的 Pyth…

cloud-(Nacos)--注册中心原理-服务注册-服务发现

并且通过(RestTemplate)Http请求实现了跨微服务的远程调用。不过这种手动发送Http请求的方式存在一些问题 在大型微服务项目中,服务提供者的数量会非常多,为了管理这些服务就引入了注册中心的概念。注册中心、服务提供者、服务消费者三者间关系如下: 流程如下: 服务启动…

【YOLOv8改进[SPPF]】使用SPPFCSPC替换SPPF模块 + 含全部代码和详细修改方式

本文将进行在YOLOv8中使用SPPFCSPC魔改v8,文中含全部代码、详细修改方式。助您轻松理解改进的方法。 改进前和改进后的参数对比如下: 目录 一 SPPFCSPC 二 使用SPPFCSPC魔改v8 1 整体修改 ① 添加SPPCSPC.py文件 ② 修改ultralytics/nn/tasks.py文件 2 配置文件

VGG16网络介绍及代码撰写详解(总结1)

可以从本人以前的文章中可以看出作者以前从事的是嵌入式控制方面相关的工作,是一个机器视觉小白,之所以开始入门机器视觉的学习只要是一个idea,想把机器视觉与控制相融合未来做一点小东西。废话不多说开始正题。 摘要:本文是介绍V…

超便携专业AI大师本带来生产力跃升,联想ThinkPad P1 AI 2024 AI元启版上市

随着AI技术在各行业的广泛应用,其实际效用愈加突出。无论是4K视频生成、建筑设计,还是仿真实验等专业领域,AI技术的支持使得过去需要数小时完成的任务如今分钟级即可完成。AI能够生成与人类创作者风格相似的内容,极大地提高了内容…

【Linux】基于驱动框架的程序编写测试

【Linux】基于驱动框架的程序编写测试 字符设备驱动工作原理☆ 驱动程序开发驱动程序开发步骤驱动代码框架驱动框架设计流程 编译与测试编译测试 参考博文: 【Linux】基于框架编写驱动代码、驱动代码编译和测试 Linux驱动(驱动程序开发、驱动框架代码编…

智能摄像头DIY教程

你要去度假,想看看家里的情况吗?你想了解人工智能和计算机视觉吗?你有 Raspberry Pi、网络摄像头和一些空闲时间吗?那么这个项目就是为你准备的! 在本文中,我们将介绍如何使用 Raspberry Pi 在 Python 中创…

Matlab|考虑阶梯式碳交易与供需灵活双响应的综合能源系统优化调度

目录 1 主要内容 目标函数 模型: 2 部分代码 3 程序结果 4 下载链接 1 主要内容 该程序方法复现《考虑阶梯式碳交易与供需灵活双响应的综合能源系统优化调度》,提出了供需灵活双响应机制,供应侧引入有机朗肯循环实现热电联产机组热电输…

MongoDB入门:安装及环境变量配置

一、安装MonggoDB Windows系统安装MongoDB 1、下载MongoDB安装包 访问MongoDB官方网站,选择与Windows系统相匹配的MongoDB Community Server版本进行下载。 Download MongoDB Community Server | MongoDB 2、安装MongoDB 双击下载好的安装包文件,根…

从Midjourney到秒画:探索国产AI绘图的崛起与未来

最近,许多人在询问: 是否有优秀的国产AI绘图产品? 如果让我推荐一款AI绘图工具,那毫无疑问是Midjourney。它在AI绘图领域的地位堪比OpenAI在人工智能领域的影响力,处于领先的水平。 不过,Midjourney的使用…

[Linux]僵尸进程,孤儿进程,环境变量

希望你开心,希望你健康,希望你幸福,希望你点赞! 最后的最后,关注喵,关注喵,关注喵,大大会看到更多有趣的博客哦!!! 喵喵喵,你对我真的…

Unity 查看Inspectors组件时严重掉帧

遇到一个问题,就是运行一个脚本的时候,只要我查看它的Inspectors,就会严重掉帧。 原本是30fps,只要查看这个组件,就掉到5fps。 这还真有点像波粒二象性,一观察就会掉帧,不观察就正常。 using…

【Ubuntu】minicom安装、配置、使用以及退出

目录 1 安装 2 配置 3 使用 4 退出 minicom是一个串口通信的工具,以root权限登录系统,可用来与串口设备通信。 1 安装 sudo apt-get install minicom 2 配置 使用如下命令进入配置界面: sudo minicon -s 进入配置界面后,…

Html2OpenXml:HTML转化为OpenXml的.Net库,轻松实现Html转为Word。

推荐一个开源库,轻松实现HTML转化为OpenXml。 01 项目简介 Html2OpenXml 是一个开源.Net库,旨在将简单或复杂的HTML内容转换为OpenXml组件。 该项目始于2009年,最初是为了将用户评论转换为Word文档而设计的 随着时间的推移,Ht…