在XCode中調試程序時,我有幾個CFStringRef
變量指向200個字符標記周圍長度的字符串。XCode調試器:顯示長字符串
在調試器中,它只顯示這些字符串的值直到某個長度,然後將它們省略掉。我真的很想看到字符串的全部價值。
是否有一些選項可以配置,因此它不會以任意長度終止它們?
(gdb) print (void)CFShow(myCFString)
或:
在XCode中調試程序時,我有幾個CFStringRef
變量指向200個字符標記周圍長度的字符串。XCode調試器:顯示長字符串
在調試器中,它只顯示這些字符串的值直到某個長度,然後將它們省略掉。我真的很想看到字符串的全部價值。
是否有一些選項可以配置,因此它不會以任意長度終止它們?
(gdb) print (void)CFShow(myCFString)
或:
在調試控制檯,您可以通過執行類似獲取字符串值
在調試器
(gdb) po (NSString*)myCFString
Either of those will display the entire string's contents to the debugging console. It's probably the easiest way to deal with large, variable-length strings or data structures of any kind.
For more information, the print
命令基本上轉儲一些數據結構到控制檯。您也可以調用任何函數或任何其他函數,但由於打印無法訪問函數聲明,因此您必須確保隱式提供它們(如上例所示),否則打印命令將會投訴。
po
是print-object
的快捷方式,除了Objective-C對象外,它與print相同。它的功能基本如下:
(gdb) print (const char *)[[theObject debugDescription] UTF8String]
This is really useful for examining things like
objects。NSData
object and NSArray/NSDictionary
有關調試主題的更多信息,請參閱Technical Note TN2124 - Mac OS X Debugging Magic和(從調試器控制檯),您也可以發出幫助命令。
如果您在Xcode編譯C++項目中只使用這個命令
PO string_name
難道真的沒有辦法讓GUI顯示字符串的非省略的版本? – 2010-12-15 19:31:56
值得注意的是,調試器顯示帶*轉義字符的字符串*。在控制檯中打印字符串時,不包括轉義字符。 「\」代碼\「」與「代碼」。這100個字符的限制是非常煩人的,因爲它會阻止您複製長JSON字符串,然後立即將該字符串(包括轉義字符)粘貼爲代碼中的測試字符串變量。 – pkamb 2015-01-30 06:32:15