Nos*_*tap 12 xcode gdb ios lldb
我正在编写一个iOS应用程序,我需要使用内置Xcode调试器的帮助.假设我有一个名为的对象HomeViewController有三个属性
@property (nonatomic) BOOL finished;
@property (nonatomic, strong) NSArray *myArray;
@property (nonatomic, strong) NSString *myName;
@synthesize finished = _finished, myArray = _myArray, myName = _myName;
Run Code Online (Sandbox Code Playgroud)
假设我在这个班级有一个断点.我如何查看这些属性的内容?我试过的东西,如po myName,print myName和print [self myName],但我无法弄清楚如何做到这一点.我已经尝试过使用LLDB,但是我一直遇到这个人遇到的错误(lldb无法打印变量值,"错误:引用'id'是不明确的").对这个问题的接受答案是,LLDB被破坏了,我应该只使用GDB; 但是,我拒绝接受那些根本被打破的东西.
不过,我也尝试过使用GDB和上面类似的命令; 但是,我无法让GDB工作.请帮忙
pas*_*aya 25
一旦放置断点,运行,程序在断点处停止,将光标悬停在您想要看到的变量/值上,如下所示:

您还可以放置一个NSLog(@"%@", yourLabel.text);来查看该标签/其他对象类型的内容.
另一个选择是在控制台中运行GDB,如下所示:
gdb
attach <your process name>
Run Code Online (Sandbox Code Playgroud)
然后使用po(print-object)命令查看变量的值,如下所示:
po variableName
Run Code Online (Sandbox Code Playgroud)
要查看原始类型的值(int,float,long,double,char,等),你可以使用print命令,而在这样的控制台中运行GDB:
print yourPrimitiveVariable
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助!
编辑:
使用该po命令,您可以使用属性名称(self.myProperty)或ivar名称(可能_myProperty)打印出对象的值.我在这里演示了这个:

| 归档时间: |
|
| 查看次数: |
18663 次 |
| 最近记录: |