有什么方法可以将堆栈跟踪作为字符串获取?
查看调试包(https://golang.org/pkg/runtime/debug/),它只能打印到标准输出。
runtime.Stack()将格式化的堆栈跟踪放到提供的中[]byte。然后,您可以将其转换为字符串。
runtime.Stack()
[]byte
您还可以使用debug.Stack(),分配足够大的缓冲区来容纳整个堆栈跟踪,并使用将该跟踪放入其中runtime.Stack,并返回缓冲区([]byte)。
debug.Stack()
runtime.Stack