如何使用Xcodedebugging器打印出一个属性的内容?

我正在写一个iOS应用程序,我需要使用内置的Xcodedebugging器的帮助。 假设我有一个名为HomeViewController的对象,它有三个属性

 @property (nonatomic) BOOL finished; @property (nonatomic, strong) NSArray *myArray; @property (nonatomic, strong) NSString *myName; @synthesize finished = _finished, myArray = _myArray, myName = _myName; 

假设我在这个类中有一个断点。 我将如何查看这些属性的内容? 我已经尝试了诸如po myNameprint myNameprint [self myName]但我无法弄清楚如何做到这一点。 我试过使用LLDB,但我不断得到这个人遇到的相同的错误( lldb未能打印variables值与“错误:引用'id'是不明确的” )。 这个问题被接受的答案是,LLDB被打破,我应该只使用GDB; 但是,我拒绝接受如此基本的东西被打破。

尽pipe如此,我也曾经尝试过使用类似GDB的命令, 但是,我也无法让GDB工作。 请帮助

一旦你放置一个断点,运行,程序停在断点处,将光标hover在你想要看到的variables/值上,如下所示:

在这里输入图像说明

你也可以放置一个NSLog(@"%@", yourLabel.text); 查看该标签/其他对象types的内容。

另一个select是在控制台中运行GDB,如下所示:

 gdb attach <your process name> 

然后使用po (print-object)命令来查看像这样的variables的值:

 po variableName 

要查看原始types( intfloatlongdoublechar等)的值,可以在控制台中运行GDB时使用print命令,如下所示:

 print yourPrimitiveVariable 

希望这可以帮助!

编辑:

使用po命令,可以使用属性名称( self.myProperty )或ivar名称(可能是_myProperty )打印出对象的值。 我在这里certificate这一点:

在这里输入图像说明

尝试用下面的expression式在debugging区域打印对象,

 p self.view.bounds.size.width 

或使用,

 po self.view 

p – Print只用于打印正常值/简单值,而po – Print Object与NSLog相同,可以打印对象的值