【发布时间】:2018-03-26 07:53:58
【问题描述】:
我想知道是否可以在调试 ios 应用程序时创建 UIImage 并预览它。我知道如果代码中已经有一个变量是可能的,它被编译UIImage *img; 并且在调试时设置断点并在调试器po img = [self createImage] 中执行类似的操作。
但是当代码中没有 UIImage 对象时,是否可以在调试器中创建一个并预览图像?
【问题讨论】:
标签: ios objective-c lldb
我想知道是否可以在调试 ios 应用程序时创建 UIImage 并预览它。我知道如果代码中已经有一个变量是可能的,它被编译UIImage *img; 并且在调试时设置断点并在调试器po img = [self createImage] 中执行类似的操作。
但是当代码中没有 UIImage 对象时,是否可以在调试器中创建一个并预览图像?
【问题讨论】:
标签: ios objective-c lldb
是的。
使用临时变量语法(美元符号前缀)确保您可以从 LLDB 访问您的变量:
(lldb) e UIImage* $image = [UIImage imageNamed:"blah.png"]
如果你想看图片,可以使用“Add Expression...”将$image添加到Xcode的观察区
添加后,单击$image 的条目,然后按空格键以使用快速查看。
【讨论】:
您可以在 lldb 表达式解析器中定义新变量。约定是在表达式中定义的以“$”开头的任何变量都将在表达式运行后保留,并可供将来的表达式使用。比如:
(lldb) expr NSString *$myString = [NSString stringWithUTF8String: "my new string"]
(lldb) po $myString
my new string
支持新变量的数据存在于程序的堆中,因此您也可以使用表达式解析器将其传递给程序中的其他函数。
【讨论】: