パニックからスタックトレースをデバッグする方法を習得しようとすると、混乱していました。パニックスタックトレースで不明なフィールド
package main
func F(a int) {
panic(nil)
}
func main() {
F(1)
}
は、私は付属のプレーリンク上でそれを実行すると、次の出力:
panic: nil
goroutine 1 [running]:
main.F(0x1, 0x10436000)
/tmp/sandbox090887108/main.go:4 +0x20
main.main()
/tmp/sandbox090887108/main.go:8 +0x20
が、私は二番目の数字は何を意味するのか解読することはできません((main.Fで0x10436000を0x1の、0x10436000)) 。 2番目のint引数がある場合、または最初の引数として渡された場合は何も表示されません(2番目の再生リンクに表示されます)。
一つの引数:https://play.golang.org/p/3iV48xlNFR
二引数:https://play.golang.org/p/4jA7ueI86K
数字「0x10436000」は他のスタックトレースにも表示されているようです。私はその意義が何であるか分かりません。 https://github.com/golang/go/issues/20763 –
これは本当に面白いです。私は別の出力 'main.F(0x1)'を得る(https://gist.github.com/hectorcorrea/5fd563f1dabb88bd0f351c0fc2bae5eeを参照)。私はMac上で1.7.1を使用していることに注意してください。 –
OSXでGo 1.9を使って@HectorCorreaと同じことができます。 Goのバージョンと環境は何ですか? – Kaedys