在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有关设置这些类型的脚本的介绍.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...