Go以及调试工具dlv安装及使用
2024-10-19 08:24:48
安装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程序,没有办法接受请求,从而无法测试。
最新文章
- css之滚动条
- Gephi可视化(一)——使用Gephi Toolkit创建Gephi应用
- LBS优化方案探究
- Java基础之写文件——使用多个视图缓冲区(PrimesToFile2)
- factory工厂模式之简单工厂SimpleFactory
- 【Todo】Nginx架构学习
- C#中指针使用总结
- Http协议Get方式获取图片
- SMT实用工艺
- emacs format
- java多线程知识点概述
- 在SQL中用正则表达式替换html标签(2)
- ajax请求获取实时数据
- SpringCloud-day09-Feign与Hystrix整合
- python基础-分支判断语句(4)
- andorid 列表视图 ListView 之BaseAdapter
- 由VC2010与VC2017数据结构差异造成的程序错误
- scikit-learn画ROC图
- Debian下的crontab保存
- jquery 笔记总结