猿问

前往:使用gdb打印变量

在此程序中,如何通过调试器中断执行并打印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"


慕莱坞森
浏览 226回答 1
1回答

慕容3067478

听起来好像变量可能已被编译器优化为不存在。您是否尝试过调试构建?您可以使用go build -gcflags '-N'。
随时随地看视频慕课网APP

相关分类

Go
我要回答