【问题标题】:How do you see values when debugging in Xcode?在 Xcode 中调试时如何查看值?
【发布时间】:2012-07-09 14:14:23
【问题描述】:

我正在尝试在 Xcode 的调试模式下查看 myImage.height 的值是多少,我在这一行上有一个断点...

float s=myImage.height/cos(30*M_PI/180)/2;

一切运行良好并到达那一行,在调试面板中我可以看到 myImage(我的 Image 是 Sparrow 框架 SPImage 对象),但我看不到任何类变量的任何值。

这是我第一次在 xcode 中使用断点/调试面板,所以我可能只是做的不对。

我也试过

NSLog(@"myImage height: %f",myImage.height);

但我也看不到输出面板中的输出。

我来自 AS3 背景,你会看到...

myImage.height 以及它在 Flash 调试面板中右侧的值,所以我在 Xcode 中寻找相同的东西。我必须以不同的模式运行它还是要打开另一个面板或其他什么?

【问题讨论】:

    标签: objective-c debugging sparrow-framework


    【解决方案1】:

    在控制台区域,您可以显示 2 个不同的“部分”,一个是范围内的变量,另一个是实际输出的控制台。在堆栈区,可以看到作用域内的所有变量。

    您也可以将鼠标悬停在代码中的任何变量上,然后单击小披露箭头并选择“打印描述”将其放入控制台。 (控制台也是 NSLog 的地方)。

    看看这张照片:

    然后是这个:

    注意你也可以从变量区域“打印描述”:

    编辑这里有更多关于悬停访问值的详细信息:单击变量名称,然后将鼠标向右移动,应该会弹出一个黄色条,其中包含有关实例的信息.这与小蓝箭头不同,即使不调试也可以使用。

    【讨论】:

    • 或者,您可以直接在控制台中键入,即po items 将打印项目对象的description 方法。要查看原始值(即 int、CGRect 等),请使用 p myRect
    • 酷,谢谢,这很有用。不过我这样做了,并且没有任何值,我在我发布的那一行上面使用了这一行 myImage = [[SPImage alloc] initWithTexture:[Media atlasTexture:iName]];所以当你设置一个对象时,值可能需要一些时间才能显示出来??
    • 如果你的断点在那一行,那么你是对的,它还没有被初始化。只需进入下一行。
    • 当你打印描述时,它什么也没打印?
    • 我无法让打印描述出现在代码中,小向下箭头只有 2 个选项,一个用于在范围内进行编辑,但我设法让打印描述出现调试面板,为此在输出中它为 myImage 对象提出了 nil,我没有得到,因为代码运行良好,这意味着必须在该点创建对象。
    【解决方案2】:

    如果有任何输出,它在底部面板中。底部面板右上角有三个图标,每个图标显示不同的数据视图。尝试所有三个。如果您看不到底部面板,您可以使用 XCode 窗口右上角“查看”一词上方的分段控件中的中间按钮显示它。

    【讨论】:

      猜你喜欢
      • 2010-10-19
      • 1970-01-01
      • 2011-03-28
      • 1970-01-01
      • 2014-11-29
      • 2019-01-31
      • 1970-01-01
      • 2016-05-16
      相关资源
      最近更新 更多