delve基础用法及在vscode中的使用

delve基础用法及在vscode中的使用,第1张

delve 是go语言的调试器,delve的目标是为go提供一个简洁、功能齐全的debug工具,delve易于调用和使用。

为了能够编译delve,需要安装Go 1.10或更高版本

安装好go后,直接go get即可安装,更多安装教程见: https://github.com/go-delve/delve/tree/master/Documentation/installation

go get github.com/go-delve/delve/cmd/dlv

安装好后,在终端执行dlv或者dlv help 会看到dlv的帮助信息,则说明安装成功

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中打好断点后,就可以进行远程调试了

1、在win7键盘按“Win+R”开启“运行”框,在其中键入“Regedit”指令后按回车键开启"注册表编辑器"。

2、在其中检查“HKEY_CLASSES_ROOT\.vbs”项目的默认值,假若是“VBSFile”的话

3、接着检查注册项“HKEY_CLASSES_ROOT\VBSFile\Shell\Open\Command”默认值,应为"%SystemRoot%\System32\WScript.exe" "%1" %*,那就手动改成 .vbs 文件的打开方式,更改成C:\windows\System32\文件下的 WScript.exe 程序。

4、完成更改后,在“运行”框中填进“slmgr.vbs –dlv”指令 或是“ slmgr.vbs –dli”指令去检查win7系统的激活情况,若是检查到没有激活系统,建议利用激活软件去将win7系统激活。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11322938.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-15
下一篇2023-05-15

发表评论

登录后才能评论

评论列表(0条)

    保存