• 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
  • 相关阅读:
    AJPFX关于集合的几种变量方式
    AJPFX关于java的依赖 关联 聚合的关系解释
    AJPFX对选择和冒泡两种排序的理解
    AJPFX总结抽象类和接口的区别
    AJPFX的内存管理小结
    AJPFX关于Java内部类及其实例化
    AJPFX总结String类的特点
    AJPFX简述Scanner类的特点
    监督学习——K邻近算法及数字识别实践
    对称(DES/AES)与非对称(RSA/SSL/数字证书)加密介绍及实际应用
  • 原文地址:https://www.cnblogs.com/zuixime0515/p/13281963.html
Copyright © 2020-2023  润新知