golang gdb-打印变量

golang gdb-打印变量,第1张

golang gdb-打印变量

添加到@AlexAtNet的答案中,Go 1.2.x之后的所有内容都中断了GDB支持,因此请使用go 1.2.x进行调试或使用gccgo(请记住,gcc
4.8.x支持go 1.1,gcc 4.9.x最高为1.2)。 。

另一个选择是使用您自己的跟踪函数,虽然不是很漂亮,但它是go 1.3+的唯一真正的调试选项。

我个人使用这样的东西进行调试:

var traceLock sync.Mutexfunc trace(a ...interface{}) {    traceLock.Lock()    pc, f, ln, ok := runtime.Caller(1)    fn := ""    if ok {        fn = runtime.FuncForPC(pc).Name()    }    fmt.Printf("trace: %s %s:%d", fn, filepath.base(f), ln)    if len(a) > 0 {        fmt.Println(append([]interface{}{": "}, a...)...)    }    traceLock.Unlock()}

playground



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5126150.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-17
下一篇 2022-11-17

发表评论

登录后才能评论

评论列表(0条)

保存