在Xcode的断点上使用Say命令

前端之家收集整理的这篇文章主要介绍了在Xcode的断点上使用Say命令前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用 Xcode,并希望从我的代码中设置一个说明NSString的断点.我正在做的是设置断点,然后进行编辑.我添加了一个“Shell命令”操作.第一个论点是说,第二个论据是我有麻烦的地方.
NSString *myString = @"This is a test";

如果我把@ myString @作为第二个参数,它会读出内存地址.恩. 0x0b4be130

如果我尝试@ [myString UTF8String],它给我另一个内存地址.

如果我引用myString,@ * [myString UTF8String] @,它只会给出字符串的第一个字符.

我该如何正确地做到这一点?

解决方法

LLDB实际上有一个内置的Python解释器,整个LLDB库暴露给它.您可以使用script debugger命令访问此命令.这样,我们可以更容易地在框架中获取变量的字符串表示形式,并将其发送到OS say命令.添加调试器操作:
script os.system("say " + lldb.frame.GetValueForVariablePath("myVariable").description)

实现你想要的您甚至可以将Python脚本包装为新的LLDB“命令”,因此您可以创建一个调试器命令,称为明确说明底层对象描述;看看http://lldb.llvm.org/python-reference.html有关设置这些类型的脚本的介绍.

猜你在找的iOS相关文章