Heim >Backend-Entwicklung >Golang >So debuggen Sie bei der Entwicklung in Golang

So debuggen Sie bei der Entwicklung in Golang

angryTom
angryTomOriginal
2020-03-12 16:53:011919Durchsuche

So debuggen Sie bei der Entwicklung in Golang

So debuggen Sie während der Golang-Entwicklung

1. Holen Sie sich zuerst das Delve-Tool

go get -u github.com/derekparker/delve/cmd/dlv

2. Testcode schreiben

func main(){
 http.HandleFunc("/test",func(writer http.ResponseWriter,req *http.Request){
 //TODO
 })
 log.Fatal(http.ListenAndServe("127.0.0.1:8080",nil))
}

3. Debug starten

dlv debug test.go

Breakpoint

4.1): Haltepunkt für Methode:

b main.函数名

4.2): Zum Haltepunkt ausführen:

c

4.3: Haltepunkt für eine bestimmte Zeile:

Müssen die erhalten Datei-Haltepunkt an der Position:

b /Users/joker/go/src/…/test.go:14 对14行打断点

Wie man die gleiche Operation wie auf der Idee durchführt: So zeigen Sie Variablen durch n, s an

n:相当于Java-Eclipse的F6
s:相当于Java-Eclipse的F5

: p

p testName 则会输出testName的值
args:则会输出所有方法参数信息
locals:则会输出所有的本地变量

Verwenden Sie go to play Debug, Info, Error Level Logs

Geben Sie den Code direkt ein:

package mylog
import (
    "log"
    "os"
)
var (
    Debug *log.Logger
    Info *log.Logger
    Error *log.Logger
)
func init() {
    log.Println("init ...")
    Debug = log.New(os.Stdout, "[DEBUG] ", log.Ldate|log.Ltime|log.Lshortfile)
    Info = log.New(os.Stdout, "[INFO] ", log.Ldate|log.Ltime|log.Lshortfile)
    Error = log.New(os.Stderr, "[ERROR] ", log.Ldate|log.Ltime|log.Lshortfile)
}
package main
import "mylog"
func main(){
  mylog.Debug.Println("good");
  mylog.Info.Println("good");
  mylog.Error.Println("good");
}

Das war's.

Weitere Golang-Kenntnisse finden Sie in der Spalte Golang-Tutorial auf der chinesischen PHP-Website.

Das obige ist der detaillierte Inhalt vonSo debuggen Sie bei der Entwicklung in Golang. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn