安装 delve

官方的文档已经很全了,参考这里(github)安装。Mac OSX 比较麻烦,需要搞定证书。

断点和变量打印

delve 装好之后就可以直接在命令行使用 dlv 命令了。

查看可用的命令

dlv -h

看帮助信息可知:支持用 dlv attach 的方式调试正在运行的进程,支持 dlv connect 链接到网络端口调试。这里先用最简单的 dlv debug 调试。

dlv debug main.go

然后会进入调试模式,此时 help 可以看到支持的命令。

(dlv) b main.go:16 #在 main.go 的第 16 行设置断点。

(dlv) bp #查看当前所有断点(dlv) c #运行到下一个断点或者程序结尾

(dlv) p a #打印变量 a 的值(dlv) n #单步执行代码(dlv) set a=1 #设置变量a 的值

你也可以在函数上设置断点:

(dlv) b main.main

同时你也可以输出一个表达式:

true ```

我们使用 continue 到我们设置断点的地方,然后 next

```(dlv) next ```

清除所有断点:

```(dlv) clearall```

###进阶调试

其实很多时候,我们调试的代码可能是 daemon

程序或者需要实现编译好在不同机器运行的程序。这就需要我们 attach

到一个已经在运行中的程序上,下面我们就使用上面的代码来演示一下如何 attach

到一个程序上进行调试。首先将刚才的程序运行起来,我这里直接使用了

```go build test-debug.go./test-debug```

然后使用ps查看正在运行的程序pid

```501 40994 549 0 12:08AM ttys003 0:00.00 ./test-debug```

然后我们 attach上去

```(dlv) attach 40994```

可以看到,熟悉的 debug seesion又回来了。下面我们可以继续使用上面的命令去设置断点了

```(dlv) break dostuff```

delve应该安装到哪_使用 delve 调试 golang 程序相关推荐

  1. delve应该安装到哪_使用 Delve 代替 Println 来调试 Go 程序 | Linux 中国

    Delve 是能让调试变成轻而易举的事的万能工具包.来源:https://linux.cn/article-12400-1.html 作者:Gaurav Kamathe 译者:Xiaobin.Liu ...

  2. cgdb 调试_在MacOS上使用gdb(cgdb)调试Golang程序

    如果你在MacOS上使用GDB工具载入Golang程序时无法载入,这篇文章可以解决.本文不具体介绍调试的方法,网上的文章太多了就不赘述了. cgdb使用的是gdb的内核,方法和原理试用本文. 问题分析 ...

  3. delve应该安装到哪_golang调试工具Delve

    转自:http://www.cnblogs.com/li-peng/p/8522592.html Devle是一个非常棒的golang 调试工具,支持多种调试方式,直接运行调试,或者attach到一个 ...

  4. delve应该安装到哪_Go调试工具—— Delve

    参考https://github.com/go-delve/delve 安装 首先你必须有等于或高于1.8版本的Go,我的版本是: userdeMBP:go-learning user$ go ver ...

  5. python gdb调试_使用GDB调试Python程序

    最近在为一个监控系统开发agent,需要支持Linux.FreeBSD及Windows等操作系统.复杂的线上环境,带来了一系列诡异的问题,尽管代码上线前在为数不少的测试机器验证过. coredump文 ...

  6. delve应该安装到哪_消防水炮安装高度为多少米标准

    很多客户其实在进行消防水炮安装的时候,都想要根据一个标准高度来安装,但是翻阅产品介绍或者咨询厂家时,发现一般给出的答案都是范围数值,比如说5L的智能水炮安装高度为6-22米,这中间的数值非常的多,到底 ...

  7. delve应该安装到哪_Golang调试工具Delve安装及使用

    一.安装 照着 github 上 delve 项目的安装说明操作, go mod 模式下推荐使用第二种方式. 1.拉取最新 delve 项目代码到本地,编译安装. # cd $GOPATH/src/ ...

  8. 测试caffe安装成功_用VSCODE调试Caffe程序

    电脑配置 1. ubuntu 16.04 LTS+Caffe 1.0.0+Vscond 1.43.2 2 anaconda 3 3 caffe 安装目录为 ~/.conda/envs/caffe/ca ...

  9. python爬虫软件安装不了_为编写网络爬虫程序安装Pytho

    一. 下载Python3.5.1安装包 1.进入python官网,点击menu->downloads,网址:Download Python 2. 根据系统选择32位还是64位,这里下载的可执行e ...

最新文章

  1. 单片机模块学习之LED
  2. android 自定义帧动画,Android 自定义方式实现帧动画效果
  3. WebStorm 快捷键整理
  4. asp.net接受表单验证格式后再提交数据_如何解析 el-form-renderer 表单渲染器1.14.0...
  5. Linux下mysql备份 恢复
  6. day33 java的多线程(5)
  7. Python直接调用C库的printf()函数打印一条消息
  8. python实现雪花动态图_如何通过雪花算法用Python实现一个简单的发号器
  9. js页面跳转 和 js打开新窗口 方法 【转】
  10. Server(Iocp)的那些烦恼
  11. Arcgis之国土报备(征地Xls)Xls格式批量转shp格式工具
  12. Thymeleaf数据回显
  13. 服务器虚拟化集群部署
  14. spring boot整合elk
  15. 为skynet的crypt库扩展一些加密(摘要)算法支持
  16. 头条号:增加粉丝量 只需用四招!
  17. 电视红外/蓝牙遥控器键值定义和适配
  18. fastjson 属性大写问题
  19. 上传大文件超时upstream timed out ,nginx配置修改
  20. Cocoa 数据绑定 bind 教程

热门文章

  1. android 新浪天气,新浪天气通发布Android 1.5版 助盲人听天气
  2. 关于排期的一些思考——技术债咋整
  3. python open写入_【Python】使用with open读写文件时,文件不存在没有自动创建
  4. 根据scat文件,谈ROM和RAM的分配
  5. GBase8s Informix Dodker 高可用集群自恢复集群启动命令oninitdb的设计与实现
  6. 操作系统 段页式存储管理
  7. 常用的html字符实体大全
  8. Julius语音识别使用(一)——toolkitDemo配置与运行
  9. oracle不能访问管理页面,无法登录Oracle Access Manager的OAM控制台
  10. 华强盛HQST G82409S 10G万兆网络变压器在SFP+/XFP光模块的应用