當前位置:成語大全網 - 漢語詞典 - delve的基本用法及其在vscode中的使用

delve的基本用法及其在vscode中的使用

Delve是go語言的調試器。delve的目標是為go提供壹個簡潔且功能齊全的調試工具。delve很容易調用和使用。

為了編譯delve,需要安裝Go 1.10或更高版本。

安裝go後,可以通過go get直接安裝。有關更多安裝教程,請參見:/go-delve/delve/tree/master/documentation/installation。

去找github.com/go-delve/delve/cmd/dlv

安裝完成後,在終端執行dlv或dlv help時會看到dlv的幫助信息,說明安裝成功。

Dlv常用命令

Delve的目標是成為壹個簡單而強大的工具。但是如果不習慣在編譯語言中使用源代碼調試,可能會比較混亂。本文檔將提供開始調試go程序所需的所有信息。

調試示例程序如下

├──圍棋網

├──圍棋. sum

├──大街。去

├──試驗

└──·尤蒂斯

├──·util . go

└──實用工具_測試.去

調試程序中主要有三個文件,main.go、util.go和util_test.go內容如下,比較簡單。go包管理工具使用go模塊,模塊名為test。

在vscode debug的設置中配置launch.json文件。

當模式設置為調試時,程序的內容為${fileDirname}。當模式設置為exec時,程序的值是二進制文件的路徑。通過設置mode的值,可以調試源代碼和二進制程序(也需要源代碼)。當mode模式為auto時,經過測試,vscode無法通過程序的內容判斷是debug還是exec。

遠程調試的時候,需要在遠程有源代碼,二進制包,dlv工具。

遠程執行dlv命令。

dlv debug-headless-listen =:8989-API-version = 2-accept-multi client #用degbug啟動遠程應用程序。

Dlvexec-headless-listen =: 8989。/test-API-version = 2-accept-multi client # exec執行當前目錄中的測試二進制文件。

- listen:指定調試端口。

-api-version:指定api版本,默認為1。

- accept-multiclient:接受多個客戶端的調試。

在vscode中,源代碼是離線的,這與遠程源代碼結構是壹致的。Launch.json的配置如下:

在vscode中中斷斷點後,可以遠程調試它。