在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 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...