堆栈跟踪为字符串

时间:2016-05-19 01:57:10

标签: logging go

是否有任何方法可以将堆栈跟踪作为字符串?

查看调试包(https://golang.org/pkg/runtime/debug/),它只能打印到标准输出。

1 个答案:

答案 0 :(得分:3)

runtime.Stack()将格式化的堆栈跟踪放入提供的[]byte。然后,您可以将其转换为字符串。

您还可以使用debug.Stack(),它分配足够大的缓冲区来保存整个堆栈跟踪,使用runtime.Stack将跟踪放入其中,然后返回缓冲区([]byte)。