iT邦幫忙

0

Golang - debug工具 DELVE

  • 分享至 

  • xImage
  •  

狀況

最近的經驗是要把公司的程式碼翻新
但由於舊有的程式碼技術債實在太過龐大,沒辦法像以前以往接手到高品質的專案還可以用寫輪眼觀察資料變化
在新專案裡面需要將流程跟資料能夠觀察和量化統計起來,以確保大部分的資料是符合需求的

所以最近在研究以前沒有使用過的debug工具來輔助開發

使用工具

今天介紹的工具叫DELVE,能夠運行你的code並設下斷點觀察你的process變化
官網:https://github.com/derekparker/delve
官網內有doc可以看怎麼安裝,就不介紹安裝了
基本上蠻簡單的,command沒有很多

DELVE使用方法

example code

package main

import "log"

func main() {
	total := 0
	param1 := 5
	param2 := 10

	total = sum(param1, param2)
	log.Println(total)
}

func sum(v1, v2 int) int {
	return v1 + v2
}

啟動你要偵錯的檔案

dlv debug main.go

設定斷點

break main.go:8

啟動process

c // c = continue

印出variable並觀察變化

p total // p = print

到這邊的terminal會顯示這樣,可以開始仔細觀察total的變化
https://ithelp.ithome.com.tw/upload/images/20211018/20118878XtuIzawAN0.jpg

執行下一行兩次到結束並再次印出total的結果

n // n = next

https://ithelp.ithome.com.tw/upload/images/20211018/20118878r9erCYEkZE.jpg

總結

有這種工具在一些variable或邏輯比較複雜的地方就不用搞得頭昏眼花了
不過不知道有沒有更方便的工具support開發
像是前端的同事在開發他設斷點之後逐步執行後,用滑鼠指到程式碼上就有結果出來
我也好想要阿~~~~~~~~~

參考


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

1
欠Q
iT邦新手 5 級 ‧ 2021-12-17 09:52:15

其實Vscode的debug模式也是dlv,設立好中斷點後也能使用滑鼠指到程式碼上就有值可以查看
https://github.com/golang/vscode-go/blob/master/docs/debugging.md

whitefloor iT邦研究生 2 級 ‧ 2021-12-17 12:13:40 檢舉

哦哦哦這個後來我知道XDDD

這個也超好用,但後來就沒更新了,感謝分享

我要留言

立即登入留言