go打印堆栈

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/jiaolongdy/article/details/50663055

在调试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异常恢复打印堆栈
展开阅读全文

没有更多推荐了,返回首页