4

在 GoLand 中调试 go 程序时,看不到全局变量的值。谁能告诉我为什么以及如何解决它?

这是一个例子:

我在 main 函数的最后一行设置了一个断点。但是如图所示,我们只能得到'a'的值,而不能得到'a'和'xx'的值。

package main

import "fmt"

var xx int = 1

func main() {
    var a int = 1
    fmt.Println(a)
    xx = 3
    fmt.Println("end")
}

在此处输入图像描述

4

5 回答 5

3

我们可以使用 Evaluate 函数来获取全局变量的值,但每次只能获取一个值

评估

于 2018-03-05T14:07:56.080 回答
2

您也可以右键单击编辑器中的变量和“添加到手表”。

于 2020-05-12T17:03:36.987 回答
2

我认为没有办法自动显示所有全局变量。只需手动添加它们(通过单击加号或按Insert)。

于 2017-12-18T10:50:54.640 回答
0

可视化代码将显示局部和全局变量。

于 2018-09-22T23:58:25.723 回答
0

我认为没有直接的方法。只是为了详细说明,您可以单击 Evaluate from Debug 窗口: Evaluate Expression Button in Debug Window

开始输入变量名,GoLand 会尝试自动补全: Expression Window

然后单击评估按钮:表达式窗口中的自动完成

于 2021-06-28T16:03:34.007 回答