go语言断点调试 golang 断点调试( 二 )


dlv常用命令
delve的目标是成为一个简洁而强大的工具 。但如果你不习惯在编译语言中使用源码调试,则可能令人困惑 。本文档将提供开始调试go程序所需的全部信息 。
调试例子程序如下
├── go.mod
├── go.sum
├── main.go
├── test
└── utils
├── util.go
└── util_test.go
调试程序主要有三个文件 , main.go、util.go、util_test.go,内容如下,比较简单 , go包管理工具使用的是go module,模块名为test
在vscode debug 的设置中配置launch.json文件
mode 设置为debug时,program的内容${fileDirname}即可 , mode 设置为exec时 , program的值为二进制文件的路径,通过设置mode的值,即可调试源码和二进制程序(也需要有源码) 。mode模式为auto时,测试了下,vscode 并不能通过program的内容来判断是debug还是exec
远程调试时 , 需要在远程也有源码、二进制包和dlv工具
在远端执行dlv命令
dlv debug --headless --listen=:8989 --api-version=2 --accept-multiclient#用degbug方式启动远程应用程序
dlv exec --headless --listen=:8989 ./test --api-version=2 --accept-multiclient# exec执行当前目录下的test二进制文件
--listen:指定调试端口
--api-version:指定api版本 , 默认是1
--accept-multiclient:接受多个client调试
在vscode中线下好源码,和远端的源码结构一致 。launch.json配置如下:
在vscode中打好断点后,就可以进行远程调试了
关于go语言断点调试和golang 断点调试的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

推荐阅读