【问题标题】:dynamically create image while debugging iOs lldb在调试 iOs lldb 时动态创建图像
【发布时间】:2018-03-26 07:53:58
【问题描述】:

我想知道是否可以在调试 ios 应用程序时创建 UIImage 并预览它。我知道如果代码中已经有一个变量是可能的,它被编译UIImage *img; 并且在调试时设置断点并在调试器po img = [self createImage] 中执行类似的操作。 但是当代码中没有 UIImage 对象时,是否可以在调试器中创建一个并预览图像?

【问题讨论】:

    标签: ios objective-c lldb


    【解决方案1】:

    是的。

    使用临时变量语法(美元符号前缀)确保您可以从 LLDB 访问您的变量:

    (lldb) e UIImage* $image = [UIImage imageNamed:"blah.png"]
    

    如果你想看图片,可以使用“Add Expression...”将$image添加到Xcode的观察区

    添加后,单击$image 的条目,然后按空格键以使用快速查看。

    【讨论】:

      【解决方案2】:

      您可以在 lldb 表达式解析器中定义新变量。约定是在表达式中定义的以“$”开头的任何变量都将在表达式运行后保留,并可供将来的表达式使用。比如:

      (lldb) expr NSString *$myString = [NSString stringWithUTF8String: "my new string"]
      (lldb) po $myString
      my new string
      

      支持新变量的数据存在于程序的堆中,因此您也可以使用表达式解析器将其传递给程序中的其他函数。

      【讨论】:

        猜你喜欢
        • 2011-01-29
        • 1970-01-01
        • 2010-09-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-28
        • 1970-01-01
        相关资源
        最近更新 更多