首頁  >  文章  >  後端開發  >  golang 如何debug

golang 如何debug

(*-*)浩
(*-*)浩原創
2019-12-27 10:51:592838瀏覽

golang 如何debug

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn