Windows配置Delve的测试环境

引言

自己最近在玩Go,在开发一些项目的时候需要调试,由于之前都是在GoLand上写的,但是这个IDE启动太慢并且不轻便。并且自己之前很多项目都是在Vscode中编写的,所以特意想在Vscode中配置Go的开发环境和调试环境,由于在安装的过程中遇到了不少的问题,希望在此给自己留一个笔记,以便未来不再犯类似的错误

dlv的安装

dlv相关网址

在这里给出dlv的下载地址dlv github Link, 在这个网站上有对这个工具的详细介绍,并且有着对应的文档可以参考。

其中dlv的安装可以分成Linux、MacOS、Windows三个方向,自己用的是Windows,所以在这给出Windows下安装的方法,这里是Windows安装的方法Windows 安装dlv方法

dlv的安装步骤

安装dlv之前确认自己已经安装好了GoLang并且配置好了GOROOTGOPATH两个环境变量

  1. 打开cmd窗口输入命令go get github.com/derekparker/delve/cmd/dlv,等待几分钟,当下载完成之后可以切换到目录里GOPATH查看;

  2. 在cmd窗口种输入命令cd %GOPATH%,进入对应的目录文件夹里面

  3. 在src目录里找到dlv所在路径并且切换过去,最终进入 _scripts这个目录里面,开始编译安装

  4. 按顺序分别执行以下命令:

    go run make.go check-cert
    go run make.go build
    go run make.go install
    
  5. 执行完成之后,在cmd窗口中输入dlv后你会得到以下信息,说明dlv安装成功

Delve is a source level debugger for Go programs.

Delve enables you to interact with your program by controlling the execution of the process,
evaluating variables, and providing information of thread / goroutine state, CPU register state and more.

The goal of this tool is to provide a simple yet powerful interface for debugging Go programs.

Pass flags to the program you are debugging using `--`, for example:

`dlv exec ./hello -- server --config conf/config.toml`

Usage:
  dlv [command]

Available Commands:
  attach      Attach to running process and begin debugging.
  connect     Connect to a headless debug server.
  core        Examine a core dump.
  dap         [EXPERIMENTAL] Starts a TCP server communicating via Debug Adaptor Protocol (DAP).
  debug       Compile and begin debugging main package in current directory, or the package specified.
  exec        Execute a precompiled binary, and begin a debug session.
  help        Help about any command
  run         Deprecated command. Use 'debug' instead.
  test        Compile test binary and begin debugging program.
  trace       Compile and begin tracing program.
  version     Prints version.

Flags:
      --accept-multiclient   Allows a headless server to accept multiple client connections.
      --api-version int      Selects API version when headless. New clients should use v2. Can be reset via RPCServer.SetApiVersion. See Documentation/api/json-rpc/README.md. (default 1)
      --backend string       Backend selection (see 'dlv help backend'). (default "default")
      --build-flags string   Build flags, to be passed to the compiler.
      --check-go-version     Checks that the version of Go in use is compatible with Delve. (default true)
      --headless             Run debug server only, in headless mode.
      --init string          Init file, executed by the terminal client.
  -l, --listen string        Debugging server listen address. (default "127.0.0.1:0")
      --log                  Enable debugging server logging.
      --log-dest string      Writes logs to the specified file or file descriptor (see 'dlv help log').
      --log-output string    Comma separated list of components that should produce debug output (see 'dlv help log')
      --only-same-user       Only connections from the same user that started this instance of Delve are allowed to connect. (default true)
      --wd string            Working directory for running the program. (default ".")

Additional help topics:
  dlv backend Help about the --backend flag.
  dlv log     Help about logging flags.

Use "dlv [command] --help" for more information about a command.

参考文档

  1. https://stackoverflow.com/questions/39058823/how-to-use-delve-debugger-in-visual-studio-code
  2. https://github.com/derekparker/delve/
  3. https://github.com/golang/vscode-go
  4. https://juejin.im/entry/5e69a2276fb9a07cd11db163
posted @ 2020-07-10 23:25  醉曦  阅读(2616)  评论(0编辑  收藏  举报