如何在使用Xcode调试器执行代码时显示正确的指针值?

时间:2013-07-04 12:46:37

标签: objective-c xcode debugging pointers

问题:

调试以下代码时,它将显示imageself.imageView.image的相等指针值(self.imageView.image未初始化):

- (void)testImage:(UIImage *)image {
    if (self.imageView.image == image) {
        NSLog(@"EQUAL");
    }
    if (self.imageView.image != image) {
        NSLog(@"DIFFER");
    }
}

然而,程序正如它应该的那样流经DIFFER

问题:

有没有办法在Xcode调试器中显示正确的指针值? /为什么Xcode调试器为真正不同的指针显示相等的指针值?

1 个答案:

答案 0 :(得分:1)

if (self.imageView.image == image) {

上设置断点

当执行在此断点处停止时,在XCODE Debugger中写入po image并按Enter键,然后在XCODE Debugger中写入po self.imageView.image并按Enter键。

希望我根据你的问题给出答案。

编辑:

如果您想一次查看所有变量,请尝试以下

enter image description here

请参见右上角,选择中间选项。然后右键单击任何变量并选择Print Description of "your_variable"选项。