為了編譯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中中斷斷點後,可以遠程調試它。