溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Golang命令行進行debug調試操作

發布時間:2020-09-05 09:59:22 來源:腳本之家 閱讀:239 作者:Coder_Joker 欄目:編程語言

GoLang調試工具Delve

1.先獲取唄:

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

2.編寫測試代碼唄:

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 啟動:

dlv debug test.go

4.打斷點:

4.1):對方法打斷點:

b main.函數名

4.2):運行到斷點處:

c

4.3:對某一行打斷點:

需要得到文件的位置再打斷點:

b /Users/joker/go/src/…/test.go:14 對14行打斷點

至于如何進行與ide上的操作一致的呢: 通過n,s

  • n:相當于Java-Eclipse的F6
  • s:相當于Java-Eclipse的F5

如何查看變量呢:p

p testName 則會輸出testName的值

args:則會輸出所有方法參數信息

locals:則會輸出所有的本地變量

emmmmmmmm golang 的命令行編譯感覺好不方便,還是想辦法搞到ide上吧

用go玩Debug, Info, Error級別的log

直接上代碼:

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");
}

就這樣。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對億速云的支持。如果你想了解更多相關內容請查看下面相關鏈接

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女