go語言有哪些好的debug方法?

做者:Davie
連接:https://www.zhihu.com/question/40980436/answer/655067839
來源:知乎
著做權歸做者全部。商業轉載請聯繫做者得到受權,非商業轉載請註明出處。

做爲一門靜態語言,支持調試是必須的。git

一、godebug godebug是一個跨平臺的Go程序調試工具,傳統的編譯型語言調試器使用底層系統調用並讀取二進制文件用於調試各種符號。使用起來很麻煩並且很難移植。godebug使用不一樣的方法,直接把源碼做爲目標程序,在每一行插入調試代碼,而後編譯並運行。 可是目前GDB作的並很差,使用起來有這樣那樣的問題。github

二、dlv 專業調試Go語言的一款工具。golang

  • 安裝:go get -u github.com/derekparker…
  • 配置:
    export GOROOT=/usr/lib/golang
    export GOPATH=$HOME/go
    export PATH=$PATH:$GOPATH/bin
  • 使用:
    一、dlv debug xxx.go 指定須要debug的文件
    二、進入dlv交互式窗口後,b <filename>:<line> 指定斷點
    三、r arg 指定運行參數
    四、n 執行一行
    五、c 運行至斷點或程序結束

三、日誌輸出 若是使用GoWeb框架進行開發,可使用日誌輸出來進行程序調試。 bash

```
Logger.Info()
Logger.Warn()
Logger.Error()
Logger.Debug()
....
```
複製代碼

四、開發IDE調試工具 Golang開發工具如Goland,自己自帶debug調試功能。框架

相關文章
相關標籤/搜索