String XCode调试器:显示长字符串

String XCode调试器:显示长字符串,string,xcode,macos,debugging,String,Xcode,Macos,Debugging,在XCode中调试程序时,我有几个CFStringRef变量,这些变量指向长度约为200个字符的字符串 在调试器中,它只显示这些字符串的值,直到达到某个长度,然后将其省去。我很想看到字符串的完整值 是否可以配置一些选项,使其不会以任意长度终止它们?在调试控制台中,您可以通过执行以下操作来获取字符串值: (gdb)打印(作废)CFShow(myCFString) 或: (gdb)采购订单(NSString*)myCFString 其中任何一个都将向调试控制台显示整个字符串的内容。这可能是处理大型、

在XCode中调试程序时,我有几个
CFStringRef
变量,这些变量指向长度约为200个字符的字符串

在调试器中,它只显示这些字符串的值,直到达到某个长度,然后将其省去。我很想看到字符串的完整值


是否可以配置一些选项,使其不会以任意长度终止它们?

在调试控制台中,您可以通过执行以下操作来获取字符串值:

(gdb)打印(作废)CFShow(myCFString)

或:

(gdb)采购订单(NSString*)myCFString

其中任何一个都将向调试控制台显示整个字符串的内容。这可能是处理大型、可变长度字符串或任何类型的数据结构的最简单方法

有关详细信息,调试器中的
print
命令基本上将一些数据结构转储到控制台。您也可以调用任何函数或其他任何函数,但由于print无权访问函数声明,因此必须确保隐式提供它们(如上面的示例所示),否则print命令将发出抱怨

po
是打印对象的快捷方式,与打印相同,但Objective-C对象除外。它的基本功能如下:

(gdb)打印(常量字符*)[[theObject debugDescription]UTF8String]

这对于检查
NSData
对象和NSArray/NSDictionary
对象非常有用


<>对于调试主题的更多信息,请参见(和来自调试器控制台),也可以发布帮助< /COD>命令。

< P>如果您正在编译XC++中的C++项目,请使用此命令


po string_name

要显示真正的长字符串,请使用

  • 在lldb控制台中增加最大字符串摘要长度
  • 使用
    Print
    po
    命令打印字符串

  • 谢谢这并没有内置到XCode视图中,但至少我可以看到我现在看到的内容。在调试器中查看字符串时,包含转义字符。这些不使用
    po
    打印到控制台。你知道在字符串中保留转义字符的方法吗?对我来说,print变体没有禁止字符串“shorting”,所以我仍然看不到整个字符串。要了解显示长字符串的解决方案,请参阅:是否真的没有办法让GUI显示非省略版本的字符串?值得注意的是,调试器使用转义字符显示字符串。在控制台中打印字符串时,不包括转义字符。“代码”对“代码”。这100个字符的限制非常烦人,因为它阻止您复制(比如)一个长JSON字符串,然后立即将该字符串(包括转义字符)粘贴为代码中的测试字符串变量。遗憾的是,这也不能抑制字符串的缩短,它仍然会用省略号截断长字符串
    setting set target.max-string-summary-length 10000
    
    print my_string