string - Xcode调试器: display long strings

标签 string xcode macos debugging

在 Xcode 中调试程序时,我有几个 CFStringRef 变量指向长度在 200 个字符标记左右的字符串。

在调试器中,它只显示这些字符串的值,直到一定长度,然后将它们省略。我真的很想了解字符串的全部值(value)。

是否有一些我可以配置的选项,这样它就不会以任意长度终止它们?

最佳答案

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

(gdb) print (void)CFShow(myCFString)

或者:

(gdb) po (NSString*)myCFString

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

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

poprint-object 的快捷方式,除了 Objective-C 对象外,与 print 相同。它的基本功能如下:

(gdb) print (const char *)[[theObject debugDescription] UTF8String]

这对于检查 NSData 对象和 NSArray/NSDictionary 对象等内容非常有用。

有关调试主题的更多信息,请参阅 Technical Note TN2124 - Mac OS X Debugging Magic并且(从调试器控制台)您还可以发出 help 命令。

关于string - Xcode调试器: display long strings,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/531114/

相关文章:

c++ - std::cin 输入带空格?

objective-c - 在提交之前使用 Singleton 来跟踪表单数据。 . .好主意?

python - py2app 应用程序正在运行,但 Mac OS X 显示它没有响应

HTML 文档的 PHP XPATH 省略所有标记。我想保留它们

c++ - Boost.Locale - C++ 中的 Unicode 字符串

ios - 如何在 UITextView 中替换句子中的确切关键字

xcode - MonoDevelop:安装到 SSD 驱动器以提高速度

ios - 遍历 plist 文件并将数据存储在数组或字典中

macos - 10.7.3 之前的 Mac App Store 沙箱和处理安全范围书签

macos - AppleScript-系统事件错误: Access for assistive devices is disabled