Go以及调试工具dlv安装及使用
安装go
wget https://studygolang.com/dl/golang/go1.14.1.linux-amd64.tar.gz
tar -C /usr/local -zxvf go1.14.1.linux-amd64.tar.gz
mkdir -p /home/go/bin/home/go/pkg /home/go/src #官方建议工作目录为/home/go
vi .bash_profile
#在最下面添加
export GOROOT=/usr/local/go
export GOPATH=/home/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
export GOPROXY="https://goproxy.io"
source .bash_profile
安装Delve
# cd $GOPATH/src/
# git clone https://github.com/derekparker/delve.git
# cd delve/cmd/dlv/
# go build
# go install
命令介绍
Usage:
dlv [command]
Available Commands:
attach 可以用来对一个正在运行的进行进行调试.
connect 连接到headless调试器.
core 用来调试core文件.
dap [EXPERIMENTAL] 启动一个Debug Adaptor Protocol (DAP)的TCP服务器来通信.
debug 在当前包或者指定的包编译并debug程序.
exec 如果你已经编译好了二进制,可以用该命令启动调试.
help 帮助命令.
test 可以用来测试自己编写的测试源码文件.
trace 编译并跟踪程序.
debug和attach使用的多一点
Dlv Debug
b(break) main.main:设置断点,还可以根据行号设置断点 b 9
bp:查找已经设置的断点
c:该命令是让程序运行起来,遇到设置的断点会停止

restart:重新开始下一轮的调试
n:下一步,不会陷入内部
s:进入某个函数的内部,源码函数也跟踪进去
so:如果用s陷入到内部函数,可以快速使用该命令跳出来,回到进入点
p [var_name]:打印变量的值
gr and grs:这两个命令是用来查看goroutine的
help:使用过程中随时通过help查看命令

debug运行中的进程
找到运行中的进程号,执行dlv attach {pid},设置完断点后,记得用c让进程处于运行状态,否则对于http或者grpc程序,没有办法接受请求,从而无法测试。
Go以及调试工具dlv安装及使用的更多相关文章
- PHP调试工具Xdebug安装配置教程
说道PHP代码调试,对于有经验的PHPer,通过echo.print_r.var_dump函数,或PHP开发工具zend studio.editplus可解决大部分问题,但是对于PHP入门学习的童鞋来 ...
- PHP 调试工具Xdebug安装配置
## PHP 调试工具Xdebug安装配置 一.Xdebug 介绍 Xdebug是一个开源的PHP程序调试工具,可以使用它来调试.跟踪及分析程序运行状态.当然,Xdebug需要结合PHP的编辑工具来打 ...
- PHP性能调优---PHP调试工具Xdebug安装配置教程
说到PHP代码调试,对于有经验的PHPer,通过echo.print_r.var_dump函数,或PHP开发工具zend studio.editplus可解决大部分问题,但是对于PHP入门学习的童鞋来 ...
- vue调试工具vue-devtools安装及使用方法
vue调试工具vue-devtools安装及使用方法 https://www.jb51.net/article/150335.htm 本文主要介绍 vue的调试工具 vue-devtools 的安装和 ...
- Vue学习笔记-vue调试工具vue-devtools安装及使用
一 使用环境: windows 7 64位操作系统 二 vue调试工具vue-devtools安装及使用 1.下载: 百度中查找 "vue-devtools下载" 找到最新 ...
- linux下php调试工具xdebug安装配置
xdebug简介 Xdebug是php的一款调试工具,是基于zend的一个扩展,可以用来跟踪,调试和分析PHP程序的运行状况.如变量,函数调试,性能监测,代码覆盖率等 xdebug安装 1.下载xde ...
- vue调试工具vue-devtools安装及使用
本文主要介绍 vue的调试工具 vue-devtools 的安装和使用 工欲善其事, 必先利其器, 快快一起来用vue-devtools来调试开发你的vue项目吧 安装: 1.到github下载: ...
- vue调试工具vue-devtools安装
vue-devtools是一款基于chrome浏览器的插件,用于vue应用的调试,这款vue调试神器可以极大地提高我们的调试效率.帮助我们快速的调试开发vue应用. 这里介绍一下vue-devtool ...
- ubuntu 下串口调试工具 minicom安装与配置cutecom安装
安装minicom: $sudo apt-get install minicom 配置minicom: 如果您的系统的默认语言不是英文,请执行下面的命令: $LANG=EN ...
随机推荐
- unzip解压中文乱码
1 问题描述 直接 unzip xxx.zip 乱码,肯定是编码问题了不用问.但是unzip没有指定编码的选项: 网上的解决方案如下: unzip -O GBK/GB18030CP936 xx.zip ...
- Tony老师带你来看Java设计模式:代理模式
目录 定义 作用 意图 主要解决问题 优缺点 与装饰者模式的区别 结构 从Tony老师来看实现方式 静态代理 动态代理 JDK动态代理的实现 cglib动态代理的实现 定义 为其他对象提供一种代理来控 ...
- 为什么 DNS 协议使用 UDP?只使用了 UDP 吗?
尽人事,听天命.博主东南大学硕士在读,携程 Java 后台开发暑期实习生,热爱健身和篮球,乐于分享技术相关的所见所得,关注公众号 @ 飞天小牛肉,第一时间获取文章更新,成长的路上我们一起进步 本文已收 ...
- 1.6.2- HTML 无序列表注意事项
ul标签只能放li标签.不是一家人不进一家门.但是在li标签里面就可以放其他标签.代码如下: <!DOCTYPE html> <html lang="en"> ...
- hdu1828 线段树扫描线求矩形面积的周长
题意: 给你n个矩形,问你这n个矩形所围成的图形的周长是多少. 思路: 线段树的扫描线简单应用,这个题目我用的方法比较笨,就是扫描两次,上下扫描,求出多边形的上下边长和,然后同 ...
- Python中Numpy模块的使用
目录 NumPy ndarray对象 Numpy数据类型 Numpy数组属性 NumPy NumPy(Numerical Python) 是 Python 的一个扩展程序库,支持大量的维度数组与矩阵运 ...
- 在@Data注释lombok上使用继承警告等于/ hashCode(Warning equals/hashCode on @Data annotation lombok with inheritance)
生成equals / hashCode实现但没有调用超类,即使这个类没有扩展java.lang.Object.如果这是故意的,请将 @EqualsAndHashCode(callSuper = fal ...
- restful 与 webapi 详解
restful 什么是API API全称Aplication Programming Itererface即应用程序编程接口, 我们在开发应用程序时经常用到.API作为接口,用来"连接&qu ...
- mysqldump中skip-tz-utc参数介绍
前言: 在前面文章中,有提到过 mysqldump 备份文件中记录的时间戳数据都是以 UTC 时区为基础的,在筛选恢复单库或单表时要注意时区差别.后来再次查看文档,发现 tz-utc.skip-tz- ...
- MySQL分区表最佳实践
前言: 分区是一种表的设计模式,通俗地讲表分区是将一大表,根据条件分割成若干个小表.但是对于应用程序来讲,分区的表和没有分区的表是一样的.换句话来讲,分区对于应用是透明的,只是数据库对于数据的重新整理 ...