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