2014-01-08 41 views
0

我正在使用Xcode 5.0.2調試一個簡單的應用程序。當我嘗試檢查一個類的內容時,調試器似乎不知道如何顯示該類。如何調試Xcode中的類

例如,我有一個類型爲CBService的變量。 Xcode在「局部變量」窗口中正確顯示變量右側的類名稱。但是,當我點擊變量名稱旁邊的顯示三角形時,變量將展開並顯示'NSObject'。最終它是什麼。但這根本沒有幫助。但Xcode不會顯示該類的屬性。這使得調試成爲一個問題,因爲我必須查看內存,而不用模板來存儲我的類。

我希望Xcode能夠了解這個類並顯示它的屬性。許多較小的調試器可以做到這一點。

我已經包含CoreBluetooth框架。

有誰知道如果/如何做到這一點?

+0

嗯,你不只是在尋找頭文件? https://developer.apple.com/library/ios/documentation/CoreBluetooth/Reference/CBService_Class/translated_content/CBService.html –

+0

編號我正在尋找檢查類中的變量的內容,而不做內存轉儲和計數字節。我沒有明確導入CBService.h。但是如果我爲CoreBluetooth.framework鏈接目標,那還不夠嗎? – Bassman

回答

0

如果你想獲得屬性的值,那麼你只需要打印出來。例如。

(lldb) po peripheral.name 

如果您想了解更多的細節,那麼你最好的猜測是description

(lldb) po service 
<CBMutableService: 0x155578d0 Primary = YES, UUID = Human Interface Device, 
Included Services = (null), Characteristics = ("<CBMutableCharacteristic: 
0x15687af0 UUID = Unknown (<08590f7e db05467e 875772f6 faeb13d4>), Value = 
(null), Properties = 0x18, Permissions = 0x3, Descriptors = (null), 
SubscribedCentrals = (\n)>" 
)> 

蘋果框架是封閉源代碼。與許多其他框架中的類不同,核心藍牙類沒有您希望看到的已聲明的公共ivars。您可能無意輕易審查這些數據。我確信有這樣做的做法,但在大多數情況下,上述方法至少對我來說工作得很好。

+0

@貝斯曼我回答你的問題了嗎? – allprog

+0

不幸的是,沒有。我不在尋找源代碼。我確定。我正在尋找Xcode根據其頭文件定義顯示數據結構的內容。顯示內存轉儲是無益的,因爲我看不到第三個屬性是什麼。基本上,我正在尋找更好的方式來查看調試器中的變量。謝謝你的幫助。 – Bassman

+0

我更新了答案,專注於您的問題 – allprog