goland是基于intellij IDEA推出的开发go的IDE,所以很多之前Intellij的使用习惯可以保留下来,实属developer的福音,今天遇到一个新的问题,就是我要调试远程服务器上的go代码,远程系统是ubuntu或者centos,总之是没有图形界面的,我想在本地调试该怎么办呢,答案是使用Delve 这个专门的调试工具。

前提:本地代码和远程代码保持一致,否则可能出现断点语句跟预期不一致或莫名其妙的情况。可以在Intellij中使用经典的remote host access插件来dowload或者upload代码实现同步。因为比较简单,具体使用姿势自行探索。

step1 远程主机

安装delve,项目地址:https://github.com/derekparker/delve
按照官方的提示安装即可

下载并安装完成后输入dlv就会看到帮助信息:

step2 本地

本地进入IDE,在要调试的地方打上断点,然后
run--debug--eidit configurations-->添加remote主机信息。

点debug 确认后,就会等待远端传回的debug信息。切远端:

step3 远端

如我要对 main.go 这个项目debug,对main进行编译后,可以直接运行
dlv --listen=:2345 --headless=true --api-version=2 exec ./main
然后本地就收到了调试信息。(此方法可用 ctrl+c 停止调试)

或者在 main.go目录下执行

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

然后goland 选择第二步配置的选项,点击调试即可。(此方法无法用 ctrl+c 停止调试)

goland 远程调试 golang相关推荐

  1. 手把手教你goland远程调试

    文章目录 简介 go环境安装 dvl 工具安装 开发部署示例程序 进行调试验证 简介 实际工作中难免遇到需要调试服务器上代码的情况,最近项目就遇到了代码在服务上报出tcp握手失败的异常,而本地却正常的 ...

  2. delve 配合 Goland 远程调试

    1 背景 本文主要是沉淀下,远程服务器环境如何实现 golang 项目的远程调试的文档输出,以解决因环境依赖问题,无法在本地进行,开发,测试的窘境. 2 准备工作 delve 2.1 部署 delve ...

  3. goland 远程调试go_手把手教你学Go语言,基础环境配置和Hello World

    文章每周持续更新,你的「点赞」「关注」是对我最大的肯定,可以微信搜公众号「 后端技术学堂 」第一时间阅读(一般比博客早更新一到两篇) 前面几周陆陆续续写了一些后端技术的文章,包括数据库.微服务.内存管 ...

  4. goland远程调试Docker

    开发环境 goland windows10 Docker centos IP:123.57.43.91 操作原理及流程 goland通过tcp/8080(应该选取2375,登录阿里云开启这个端口,这里 ...

  5. GoLand配置数据库、远程host以及远程调试

    GoLand配置MySQL数据库: (1)右侧栏 -> Database -> +添加 (2)选择MySQL (3)修改Name -> Comment(可选) (4)选择MySQL版 ...

  6. goland配置mysql失败_GoLand配置数据库、远程host以及远程调试

    GoLand配置MySQL数据库: (1)右侧栏 -> Database -> +添加 (2)选择MySQL (3)修改Name -> Comment(可选) (4)选择MySQL版 ...

  7. goland+dlv远程调试

    goland和dlv进行远程代码调试 1.dlv下载安装 在linux操作系统下 cd $GOPATH/src mkdir go-delve git clone github.com/go-delve ...

  8. 基于Goland和dlv远程调试Kubernetes组件

    一个正常运行的 Kubernetes 集群包含以下的各种组件. 通常开发者日常编码都基于Windows/Mac上的IDE(VsCode/Goland),编码完成后再部署到远端Linux机器运行.因此, ...

  9. Goland+dlv远程调试详解

    最近白嫖了一个阿里云的服务器,正好也在用Go写一个简单的后端项目,所以就想着试一下Goland的远程调试.用到的工具: Goland2021.3.2 go-delve(GitHub - go-delv ...

最新文章

  1. 占据翻译机市场大半壁江山,科大讯飞现AI新物种
  2. AMG8833的使用与stm32驱动代码
  3. dataimagepng php_浅析data:image/png;base64的应用
  4. Thymeleaf语法规则
  5. 向上取整的方法_PHP取整方法小总结
  6. cmake could not find openssl_Mac OSX系统CMake、QT5运行OpenCV 4.0
  7. android 获取webView高度,设置webView高度
  8. Codeforces 374A - Inna and Pink Pony
  9. 飞秋局域网聊天是一种技术工作
  10. ECharts 浙江地图实践
  11. 降价200!华为部分手机已取消充电器和数据线,网友表示可以接受
  12. php得到第一个数组_php怎么获取数组第一个元素
  13. php 的cookie设置时间,php cookie时间设置的方法
  14. linux mysql 备份 压缩_Linux下mysql定时备份压缩
  15. 微信小程序的本地存储
  16. 阿里巴巴高并发架构到底多牛逼?是如何抗住淘宝双11亿级并发量?
  17. 离谱,还有这种自暴自弃的翻译?
  18. 学习笔记 | 独热编码(One-Hot Encoding)
  19. 计算机学院职业规划大赛策划书,大学生职业生涯规划大赛策划书(策划书范文).doc...
  20. HTML_个人简历表

热门文章

  1. 模组使用之APN、CS、PS、小区选择、小区重选、小区切换介绍
  2. Keil错误fatal error: UTF-16 (LE) byte order mark detected
  3. 嵌入式驱动程序之信号量
  4. React Native 与 嵌入Android原生与Activity页面互相跳转
  5. 禁止用户对系统数据库表的SELECT权限
  6. 【VMware vSAN 6.6】5.1.基于存储策略的管理:vSAN硬件服务器解决方案
  7. 容器开启数据服务之旅系列(一):Kubernetes如何解自建PostgreSQL运维之痛
  8. 有赞11·11:全链路压测方案设计与实施详解
  9. jenkins执行shell脚本,找不到环境变量
  10. nutch2.1+mysql报错及解决