2013-06-24 59 views
2

我有一個叫做position的屬性,我試圖用self.position訪問它。爲什麼我不能在調試器中打印這個變量的值?

我得到:

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

但我把我的斷點在在以下塊循環。它肯定有一個值:

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

    NSString *wordsToBeShown = @""; 

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

這是一個NSNumber。

+0

不管它的價值,GDB在Xcode被棄用,取而代之的LLDB的。你有使用GDB的原因嗎? –

+0

http://www.tuaw.com/2013/06/05/devjuice-10-8-4-and-the-ios-simulator/ –

+2

'po [self position]'工作嗎? –

回答

2

您應該使用

po [self position] 

點語法不GDB很好地工作。升級到LLDB/LLVM也是一個好主意。

你還可以:

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

在你的代碼。或者創建一個斷點並對其進行編輯,添加這是一個表達式:

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

請參閱此鏈接的詳細信息:http://www.raywenderlich.com/28289/debugging-ios-apps-in-xcode-4-5

相關問題