如何动态检查变量

时间:2017-10-27 09:37:52

标签: visual-studio debugging unity3d

我安装了Visual Studio的Unity工具。

现在我创建了一个变量x,它在Update函数的每一帧上递增。

private int x = 0;

void Update()
{
    x++;
}

但是,如果我去视觉工作室并按“附加到团结和游戏”,然后将鼠标悬停在x x++上,那么我看不到任何价值。

enter image description here

如果我右键点击x,则没有选项add watch或类似内容。

no add watch

我只能在设置断点时看到该值,但是我必须在每帧之后点击continue

enter image description here

是否可以添加手表并查看我在玩游戏时如何更新现场的价值?否则,我必须在我的代码中为我需要观察的每个变量添加许多Debug.Log()语句,但我不认为这是预期的方式。

作者说:article

  

当我在学校的第一种方式,我学会了如何调试一个不稳定的   应用程序是通过在所有地方粘贴“print()”语句,   运行我的代码,并回顾输出的日志,看看是否   我发现事情看起来不对劲。然后,如果我想看看   另一个变量的值我要添加一个新的“print()”   声明,重新编译,并再次重新运行该应用程序。这可以是一个   繁琐的过程,所以我很高兴告诉你有更好的方法   你可以用一大堆“print()”语句乱丢代码   必须删除以后。 您可以使用Visual Studio的工具   调试器可以动态检查变量。

但这似乎不是真的。

2 个答案:

答案 0 :(得分:3)

如果没有在断点处暂停,则无法检查变量。或者,您可以在Unity的检查员中观察它们。为此:

答案 1 :(得分:0)

这不适用于visual studio,您需要对需要跟踪的每个变量使用Debug.Log()。

void Update()
{
    x++;
    Debug.Log(x);
}