1. 程式人生 > 實用技巧 >Windows配置Delve的測試環境

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