为什么我无法在调试器中打印此变量的值?

时间:2013-06-24 23:01:56

标签: ios objective-c xcode debugging gdb

我有一个名为position的我的类的属性,我试图用self.position访问它。

我明白了:

(gdb) po self.position
There is no member named position.

但是我在以下块中的for循环中设置了断点。它肯定有一个价值:

- (IBAction)backFiftyWords:(UIButton *)sender {
    self.position = @([self.position intValue] - 50);

    NSString *wordsToBeShown = @"";

    for (int i = 0; i < [self.numberOfWordsShown intValue]; i++) {

这是一个NSNumber。

1 个答案:

答案 0 :(得分:2)

你应该使用

po [self position] 

Dot语法与GDB不兼容。升级到LLDB / LLVM也是一个好主意。

你也可以:

NSLog(@"%@", self.position);

在你的代码中。或者创建一个断点并对其进行编辑,添加这个表达式:

expr (void)NSLog(@"%@", self.position)

有关详细信息,请参阅此链接:http://www.raywenderlich.com/28289/debugging-ios-apps-in-xcode-4-5