2012-09-07 43 views
0

我有一個典型的UITableView應用程序,有一些標籤的單元格。cell.detailTextLabel.text的XCode GDB語法?

如何使用GDB顯示以下內容?我已經嘗試了下面的內容,無法弄清楚語法應該是什麼。

編輯:我希望能夠顯示變量的內容時,調試器遇到斷點

(gdb) p (NSString*)cell.detailTextLabel.text 
There is no member named detailTextLabel. 
(gdb) p (NSString*)[cell.detailTextLabel.text] 
A syntax error near end of expression. 
(gdb) p (NSString*)[cell detailTextLabel text] 
A syntax error in expression, near `]'. 
(gdb) p (NSString*)[cell detailTextLabel] 
$2 = (NSString *) 0x0 
(gdb) p (NSString*)[[cell detailTextLabel] text] 
$3 = (NSString *) 0x0 

感謝

回答

1

不能使用點符號在調試器中,所以不是cell.detailTextLabel.text你會寫[[cell detailTextLabel] text]。並嘗試使用命令po而不是p,所以po [[cell detailTextLabel] text]。希望這可以幫助。

+0

仍然沒有工作對我來說:(GDB)PO [細胞detailTextLabel]文本] 不能打印NIL對象的描述。 (GDB)PO [[細胞detailTextLabel]文本] 不能打印一個NIL對象的描述。 (gdb)po(NSString *)[[cell detailTextLabel] text] 無法打印NIL對象的描述。 (gdb)po(NSString)[[cell detailTextLabel] text] 無法將值轉換爲整數。 – SparkyNZ

+0

那麼這意味着在某些時候您的標籤或您的單元格將被釋放,這意味着當您嘗試打印其內容時它是「零」。嘗試'po cell'來查看單元格是否爲零。 – Ariel

+0

是的,我認爲你是對的 - 我最近更改了標籤的分配以使用NSString *的副本,所以看起來好像是這種情況。有趣的是,我還發現我可以在C結構上使用點符號。感謝您的幫助 - 我會接受您的答案。 – SparkyNZ

0

我不知道如果這是你的意思,但要記錄標籤的文本可以使用:

NSLog(@"%@",cell.detailTextLabel.text); 
+0

感謝您的答案 - 它實際上是我想用它來查看變量(GDB)的調試器。你所建議的確實會將輸出記錄到調試窗口,但是當我打斷點時我想檢查不同的變量。對不起 - 我應該提到我在帖子中使用斷點的事實。乾杯。 – SparkyNZ