在Debian系统上调试Go语言程序,通常推荐使用Delve,这是Go语言的原生调试工具。以下是使用Delve进行调试的基本步骤:
安装Delve:
打开终端,运行以下命令来安装Delve:
go get -u github.com/go-delve/delve/cmd/dlv
确保你的 GOPATH 和 PATH 环境变量已经正确设置。可以将以下内容添加到 /.bashrc 或 /.profile 文件中:
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
然后运行以下命令使配置生效:
source ~/.bashrc
编写测试程序:
创建一个简单的Go程序,例如一个Web服务,用于测试调试功能。例如,创建一个名为 main.go 的文件,内容如下:
package main
import (
    "fmt"
    "log"
    "net/http"
    "os"
)
const port = "8000"
func main() {
    http.HandleFunc("/hi", hi)
    fmt.Println("Running on port:", port)
    log.Fatal(http.ListenAndServe(":"+port, nil))
}
func hi(w http.ResponseWriter, r *http.Request) {
    hostName, _ := os.Hostname()
    fmt.Fprintf(w, "HostName: %s", hostName)
}
使用Delve进行调试:
在终端中,使用以下命令启动Delve调试器:
dlv debug ./main.go
这将启动Delve调试器,并允许你设置断点、单步执行代码、查看变量等。
配置调试环境(可选):
如果你需要更高级的调试功能,可以在VSCode等IDE中配置Delve。在VSCode中,你需要安装Go语言的扩展,并配置 launch.json 文件来指定调试设置。例如:
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Launch",
            "type": "go",
            "request": "launch",
            "mode": "remote",
            "remotePath": "",
            "port": 2345,
            "host": "127.0.0.1",
            "program": "${workspaceFolder}",
            "env": {},
            "args": []
        }
    ]
}
运行和调试:使用Delve提供的命令进行调试,例如设置断点(break)、继续执行(continue)、单步执行(next)等。
通过以上步骤,你可以在Debian系统上使用Delve对Go语言代码进行调试。如果需要更详细的教程或遇到特定问题,可以参考相关的在线资源或社区论坛。