5

このプログラムでは、デバッガーで実行を中断し、i の値を出力するにはどうすればよいでしょうか?

package main

import "fmt"

func main() {
        x := "abc"
        i := 3
        fmt.Println(i)
        fmt.Println(x)
}

印刷できません。ただし、xを印刷できます:

go build test.go
gdb test  
[...]Reading symbols from /home/ned/test...done.
(gdb) br 9
(gdb) run
(gdb) p i
No symbol "i" in current context.
(gdb) p x
$1 = "abc"
4

1 に答える 1

4

変数 i がおそらくコンパイラによって最適化されて存在しなくなったようです。デバッグビルドは試しましたか?

使用できますgo build -gcflags '-N'

于 2012-05-22T15:00:00.400 に答える