如何使用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 myName
, print myName
和print [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( int
, float
, long
, double
, char
等)的值,可以在控制台中运行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相同,可以打印对象的值