在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