1

を使用してヒープ プロファイルを実行すると、 のgo tool pprofようなエントリがいくつか表示されますgithub.com/anacrolix/utp.glob.func1。これは、私が見ることができる名前付き関数に対応していません。クロージャーだと思います。とはどういうglob意味ですか? このような名前を適切な関数に関連付けるにはどうすればよいですか?ここに画像の説明を入力

4

1 に答える 1

2

globグローバル環境を指し、func1無名関数を意味します。したがって、グローバルな匿名関数を参照する必要があります。この例とそのパニック情報を確認してください。

例:

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
于 2016-04-15T04:57:04.937 に答える