go

go线程堆栈信息怎么查看

小亿
205
2023-09-27 14:22:26
栏目: 编程语言

在Go语言中,可以通过调用runtime.Stack函数来获取当前Goroutine的堆栈信息。具体的使用方法如下:

package main
import (
"fmt"
"runtime"
)
func main() {
go func() {
printStack()
}()
// 确保Goroutine有足够的时间执行
runtime.Gosched()
}
func printStack() {
var buf [4096]byte
n := runtime.Stack(buf[:], false)
fmt.Println(string(buf[:n]))
}

在上面的例子中,我们使用runtime.Stack函数来获取当前Goroutine的堆栈信息,并打印出来。注意,runtime.Stack函数的第一个参数是一个字节数组,用来存储堆栈信息;第二个参数表示是否需要将堆栈中的所有Goroutine都打印出来。

运行上述代码,就可以在控制台上看到当前Goroutine的堆栈信息。

0
看了该问题的人还看了