Goland使用delve进行远程调试的详细教程

 更新时间:2024年08月15日 09:51:38   作者:拧螺丝专业户  
网上给出的使用delve进行远程调试,都需要先在本地交叉编译或者在远程主机上编译出可运行的程序,然后再用delve在远程启动程序,本教程会将上面的步骤简化为只需要两步,1,在远程运行程序2,在本地启动调试,需要的朋友可以参考下

引言

网上给出的使用delve进行远程调试,都需要先在本地交叉编译或者在远程主机上编译出可运行的程序,然后再用delve在远程启动程序,最后要在goland中配remote debug,然后启动remote debug连接远程的delve进行调试。

本教程会将上面的步骤简化为只需要两步,(1)在远程运行程序(2)在本地启动调试。

调试的效率和方便程度都会很大提高。

一、安装软件

(1)本地安装go 1.22.2 和goland 2023.3.7

这步骤就省略了,默认已经安装了。

(2)远程主机上安装 delve 最新版 和go 1.22.5

安装go的方法可以参考官网https://go.dev/doc/install给出的教程。

安装delve的最新版本使用下面的命令:

$ go install github.com/go-delve/delve/cmd/dlv@latest

二、本地goland配置run target

在Run -> Manage Targets中增加新的运行目标机器。

在这里插入图片描述

在这里插入图片描述

配置源文件目录和编译后文件的输出目录。

在这里插入图片描述

在运行配置配置里面设置运行target为上述配置的target。

在这里插入图片描述

在这里插入图片描述

设置的编译参数为:-o PlatformGateway -gcflags "all=-N -l"

接下来要在Before launch中配置启动远程主机上的dlv。

在这里插入图片描述

在这里插入图片描述

再次点击加号增加远程外部工具运行。

在这里插入图片描述

在这里插入图片描述

给dlv传递的参数为:--listen=:2345 --headless=true --api-version=2 --accept-multiclient exec PlatformGateway

最后的PlatformGateway是输出文件的名称,在配置go tools argiments时指定的。

三、配置远程debug

点击Run -> Edit Configurations

在这里插入图片描述

增加远程调试选项,之前给出的配置参数也是从这个页面来的。

在这里插入图片描述

四、进行远程调试

1、启动远程dlv,并运行目标程序。选择图示中的选项,然后点击右侧的三角运行按钮。

在这里插入图片描述

2、观察运行窗口出现如下提示。

在这里插入图片描述

3、在程序中打断点。

4、启动远程debug。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

可以看到程序已经在断点上停住了。

五、总结

通过本文的设置,进行远程调试的时候只需要点击启动运行按钮,然后再点击debug按钮,就可以进行远程调试了,比网上大多数的教程都要便捷和方面,可以提高调试的效率和体验。

以上就是Goland使用delve进行远程调试的详细教程的详细内容,更多关于Goland delve远程调试的资料请关注脚本之家其它相关文章!

相关文章

  • Golang中HTTP路由设计的使用与实现

    Golang中HTTP路由设计的使用与实现

    这篇文章主要介绍了Golang中HTTP路由设计的使用与实现,为什么要设计路由规则,因为路由规则是HTTP的请求按照一定的规则 ,匹配查找到对应的控制器并传递执行的逻辑,需要的朋友可以参考下
    2023-05-05
  • golang之反射和断言的具体使用

    golang之反射和断言的具体使用

    这篇文章主要介绍了golang之反射和断言的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • Go语言中节省内存技巧方法示例

    Go语言中节省内存技巧方法示例

    这篇文章主要为大家介绍了Go语言中节省内存技巧方法示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • goquery 入门(安装使用教程)

    goquery 入门(安装使用教程)

    这篇文章主要为大家介绍了goquery 入门(安装使用)教程示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • 使用go gin来操作cookie的讲解

    使用go gin来操作cookie的讲解

    今天小编就为大家分享一篇关于使用go gin来操作cookie的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-04-04
  • golang实现简单的udp协议服务端与客户端示例

    golang实现简单的udp协议服务端与客户端示例

    这篇文章主要介绍了golang实现简单的udp协议服务端与客户端,结合实例形式分析了基于UDP协议的数据传输相关实现技巧,需要的朋友可以参考下
    2016-07-07
  • Go语言利用time.After实现超时控制的方法详解

    Go语言利用time.After实现超时控制的方法详解

    最近在学习golang,所以下面这篇文章主要给大家介绍了关于Go语言利用time.After实现超时控制的相关资料,文中通过示例介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧
    2018-08-08
  • golang实现可中断的流式下载功能

    golang实现可中断的流式下载功能

    这篇文章主要给大家介绍了golang实现可中断的流式下载,文中通过代码示例给大家介绍的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-01-01
  • GO中使用谷歌GEMINI模型任务代码实例

    GO中使用谷歌GEMINI模型任务代码实例

    这篇文章主要为大家介绍了GO中使用谷歌GEMINI模型任务代码实例探究,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • 使用go实现常见的数据结构

    使用go实现常见的数据结构

    这篇文章主要介绍了使用go实现常见的数据结构,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03

最新评论