Heim  >  Artikel  >  Backend-Entwicklung  >  So debuggen Sie Golang

So debuggen Sie Golang

angryTom
angryTomOriginal
2020-02-15 10:24:122986Durchsuche

Heute werde ich einen Artikel über das Debuggen von Golang mit Ihnen teilen. Er hat einen sehr guten Referenzwert.

So debuggen Sie Golang

So debuggen Sie Golang

Sie können das GoLang-Debugging-Tool verwendenDelve

1. Holen Sie sich

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

2. Schreiben Sie den Testcode

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

dlv debug test.go

4. Haltepunkt

1) Methodenhaltepunkt:

b main.函数名

2) Lauf zum Haltepunkt:

c

3) Rechter Haltepunkt einer bestimmten Zeile:

Sie müssen den Speicherort der Datei und dann den Haltepunkt ermitteln:

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

So führen Sie den gleichen Vorgang wie auf der Idee aus: übergeben Sie n, s

n: Entspricht F6 von Java-Eclipse

s: Entspricht F5 von Java-Eclipse

So zeigen Sie Variablen an: p

p testName gibt den Wert von testName aus

args: gibt alle Methodenparameterinformationen aus

locals: gibt alle lokalen Variablen aus

Verwenden Sie Go Play Debug, Info, Error Level Log

und laden Sie den Code direkt hoch:

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 ist alles.

Weitere Golang-Kenntnisse finden Sie in der Spalte

Golang-Tutorial

auf der chinesischen PHP-Website.

Das obige ist der detaillierte Inhalt vonSo debuggen Sie 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