一些常用的debug,性能测试工具记录
deubg
build
一般我们想生成汇编代码,无非就是:
go build -gcflags -S main.go
或:
go tools compile -S main.go
但是通过以下命令,可以生成更加详细的汇编优化过程:
GOSSAFUNC=main go build main.go
gdb
列举用到的文件,其中entry_files的地址就是函数开始运行的地址
info files
可以直接b address
,然后运行c
dlv
比较契合golang,
dlv debug
: 在当前目录寻找main函数,并开始调试
具体进入dlv后输入help查看命令:
常用:
print(p)
:打印local
b xxx.go:123
break某一行
c
:continue
n
:下一行
step
:下一步
restart
:重启
Performance
Go pprof
有两个包
runtime/pprof
net/pprof
用于网络型,可以实时监控
go tool pprof xxx.pprof
也可以展示http网页
go tool pprof -http localhost:9190 xxx.pprof
Go test
pprof还可以与go test结合
go test -bench . -cpuprofile=cpu.prof
go test -bench . -memprofile=./mem.prof
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!