2016-04-15 58 views
1

我無法在調試時在控制檯中獲取字典/數組值。如何在Xcode 7.3中訪問控制檯中的'self'

它總是顯示信息,而PO詞典/陣列狀

error: warning: Stopped in a context claiming to capture an Objective-C object pointer, but 'self' isn't available; pretending we are in a generic context

Check the screenshot here

+0

你使用斷點 –

+0

提供的截圖 –

+1

@TysonVignesh是,在這兩種方式,使用斷點並在控制檯中使用PO命令。 – Merry

回答

2

您可以檢查在控制檯窗口中使用po [self variablename]屬性和變量的值。通過這種方式,您可以輕鬆訪問變量。

此外,您可以檢查與其他項目天氣問題是與xcode或在您的項目配置。

您還可以展開調試區域中的摺疊值。如果它正在擴展,那麼只需使用po variablename即可訪問值,否則您需要使用po [self variablename]

enter image description here

+1

謝謝。它正在工作。 – Merry

0

這是一個調試器的bug(是啊,想象一下!)

只需重新啓動的XCode,它不該」不再是你的問題:)

編輯:

心靈!我正在想別的東西。

您正在創建一個保留週期,並且到目前爲止,調試器以這種方式對這個特定的保留週期進行分類(正如我所說的,一個錯誤)。

爲了解決這個問題,創建自的弱副本:

__weak __typeof(個體)weakSelf =自我;

然後對於用於給你的麻煩了自我:

變化self.object到weakSelf.object

來源:"self" not available in debugger on iOS 5.1

+0

我已經嘗試了通過重新啓動xcode。而且我在xCode 7.3之前也看到了這個錯誤,在stackoverflow的一些問題中。 – Merry

0

請參考下面的屏幕截圖在那裏我有印刷的價值陣列 enter image description here

+1

這件事在我的代碼中不起作用,那就是問題所在。 – Merry

+0

你可以提供像這樣的屏幕截圖,你把斷點和你如何打印值,這可以給我們清楚的上下文 –

+1

我已經附上自己的問題截圖。查看這個[link](http://i.stack.imgur.com/XgkY0.png)瞭解更多詳情。即使我不能在調試區域擴展Self。 – Merry

1

我想同樣的問題,並找到了這個解決方案。將這個clang模塊更改爲調試DEBUG爲NO和RELEASE爲YES將解決您的問題。

查看下面的鏈接。

Accessing Self in LLDB

相關問題