Go 堆配置文件中的glob.func
当使用Go 堆配置文件中的glob.func,go,pprof,Go,Pprof,当使用go-tool-pprof执行堆概要文件时,我看到一些条目,如github.com/anacrolix/utp.glob.func1。这与我看到的任何命名函数都不对应,我假设它是一个闭包。glob指的是什么?如何将这样的名称与相应的函数关联?glob表示全局环境,func1表示匿名函数。所以它应该引用一些全局匿名函数。支票及其紧急信息: panic: a goroutine 1 [running]: panic(0x128360, 0x1040a120) /usr/local/g
go-tool-pprof
执行堆概要文件时,我看到一些条目,如github.com/anacrolix/utp.glob.func1
。这与我看到的任何命名函数都不对应,我假设它是一个闭包。glob
指的是什么?如何将这样的名称与相应的函数关联?glob
表示全局环境,func1
表示匿名函数。所以它应该引用一些全局匿名函数。支票及其紧急信息:
panic: a
goroutine 1 [running]:
panic(0x128360, 0x1040a120)
/usr/local/go/src/runtime/panic.go:464 +0x700
main.glob.func1(0x0, 0x0)
/tmp/sandbox715198144/main.go:9 +0x80
main.init()
/tmp/sandbox715198144/main.go:12 +0xa0
例如:
package main
import (
"fmt"
)
var (
p = func() string {
panic("a")
return "asdf"
}()
)
func main() {
fmt.Println(p)
}
恐慌信息:
panic: a
goroutine 1 [running]:
panic(0x128360, 0x1040a120)
/usr/local/go/src/runtime/panic.go:464 +0x700
main.glob.func1(0x0, 0x0)
/tmp/sandbox715198144/main.go:9 +0x80
main.init()
/tmp/sandbox715198144/main.go:12 +0xa0