Devle是一個非常棒的golang調試工具,支援多種調試方式,直接運行調試,或者attach到一個正在運行中的golang程序,進行調試。 中中(建議學習:go)
線上golang服務出現問題時,而Devle是必須將使用Devle 配備不少線上除錯工具,如果您使用Devle,也可以將Devle是必須將Devle 打進來鏡像裡,調試程式碼。
安裝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的詳細內容。更多資訊請關注PHP中文網其他相關文章!