在 GoLang 中获取结构化堆栈信息

mic*_*den 6 go

我正在考虑使用它runtime.Stack来解析有关 goroutine 的信息(寻找泄漏)。问题在于,runtime.Stack将其输出作为必须解析的字符串返回,并且需要足够大小的字节缓冲区输入。我知道有一些库,例如gostackparsepanicparse,但它们都不适用于GODEBUG=tracebackancestors=<n>(其中 n > 0)。我需要这个,因为我想验证当前堆栈帧的后代 goroutine 的泄漏。

有没有办法获得runtime.Stack适用的结构化输出tracebackancestors