Devle是一个异常棒的golang调试东西,支撑多种调试体式格局,直接运转调试,或许attach到一个正在运转中的golang程序,举行调试。 (引荐进修:go)
线上golang效劳出现问题时,Devle是必不少的在线调试东西,假如运用docker,也能够把Devle打进docker镜像里,调试代码。
装置Devle
装置Devle异常简朴,直接运转go get 即可:
go get -u github.com/derekparker/delve/cmd/dlv
假如你的go版本为1.5请先设置环境变量GO15VENDOREXPERIMENT=1再运转go get。我的go版本为1.10,不必设置。
运用Devle调试golang效劳
先写一个简朴的web效劳,然后运用Devle来举行调试。
在$GOPATH/src/github.com/mytest 文件夹下建立main.go
package main import ( "fmt" "log" "net/http" "os" ) const port = "8000" func main() { http.HandleFunc("/hi", hi) fmt.Println("runing 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) }
简朴吧,一个运转在8000端口上的web效劳,接见 hi会返回机械的称号。上面代码的行号是很有效的,等会我们打断点的时刻会用到。
以上就是golang 怎样debug的细致内容,更多请关注ki4网别的相干文章!