go打印堆棧

在調試go程序的過程中,可能會出現重複關閉chan的情況,可能會有多個路徑執行關閉操作,爲了確定操作路徑可以使用runtime/debug包中的PrintStack()打印堆棧,最後確定具體的執行路徑。參考代碼如下[1]:

package main

import (
    "runtime/debug"
)

func main() {
    defer func() {
        if err := recover(); err != nil {
            debug.PrintStack()
        }
    }()

    value := 111
    zero := 0
    value = value / zero
}
  1. go異常恢復打印堆棧
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章