在此程序中,如何中断调试器的执行并打印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"
听起来好像变量可能已被编译器优化为不存在。您是否尝试过调试构建?
您可以使用go build -gcflags '-N'。
go build -gcflags '-N'