Xcode调试 - 显示图像

kra*_*nyk 84 debugging xcode

我喜欢使用Xcode调试器.您可以查看变量的值,甚至可以更改它.

但我可以以某种方式显示图像变量引用的图像吗?我知道我可以看到它的原始字节,但是显示带有内容的窗口会更加人性化.

Xcode可能不支持这个.也许有一个外部工具可以帮助显示图像?

pka*_*amb 242

使用" 快速查看"检查Xcode调试器中的图像.

选择一个NSImageUIImage在调试器中,然后单击快速查看"眼睛"图标.

Xcode调试器工具栏中的

与OS X的其他区域一样,您也可以使用spacebarQuick Look!

通过快速查看在Xcode调试器中查看UIImage

调试器中的快速查看也可以为您自己的类实现:

启用自定义类型的快速查找

Xcode调试器中的变量Quick Look功能允许您通过图形渲染快速直观地评估对象变量的状态,在弹出窗口中显示在调试器变量视图中或源代码中.

本章介绍如何为自定义类类型实现快速查看方法,以便还可以在"快速查看"弹出窗口中以可视方式呈现这些类型的对象变量.

  • 最好.特征.永远! (11认同)
  • 在Xcode编码的年龄我从来不知道这个功能!这太棒了!!!非常感谢 (7认同)
  • 这是今年最有价值的答案! (2认同)
  • 知道这个功能,但感谢空格键提示!比用鼠标点击眼睛容易得多.:) (2认同)

Avi*_*ron 16

编辑:

从Xcode 5开始,调试器可以显示UIImage/CGImageRef变量的可视化表示!

Xcode本身无法做到.我不知道外部工具.

我在调试时测试图像的目的是将原始数据转换为图像文件格式,如.png,然后将其保存到某个地方,然后我用任何图像查看工具打开图像.

我有一段代码用于此目的,看起来基本上是这样的:

NSData *imageData = UIImagePNGRepresentation(self.myUIImage);
[imageData writeToURL:desktopURL atomically:YES];
Run Code Online (Sandbox Code Playgroud)

我只是复制粘贴这段代码,我希望在运行中看到图像的内容.

一定要得到尽快摆脱这个代码尽可能由于转换的高成本UIImageNSData

  • 只是好奇:为什么你说"(而且不应该)这样做"?曾经有一段时间人们说计算机"不应该"有彩色屏幕,因为它们太贵了,或者程序员使用的文本编辑器"不应该"语法检查你的代码.在某些时候,我们确实需要从古老的想法中继续前进吗? (2认同)

mac*_*rth 14

编辑Xcode 5:

现在,当您将鼠标悬停在图像变量名称上时,右侧会出现一个"眼睛"图标.只需单击它即可查看当前图像!如果您没有UIImage变量(例如,它是另一个对象的属性,您仍然可以使用较旧的答案:

老回答:老问题,但我正在寻找答案.从Avraham的回答开始,我尝试了一些实验来显示来自lldb的iOS图像,而无需重新编译或将其添加到视图中.我终于想到了:

po [UIImagePNGRepresentation(watchImage) writeToFile:@"/Users/<userName>/Desktop/watchImage.png" atomically:NO];
Run Code Online (Sandbox Code Playgroud)

我将这个字符串保存在文本编辑器中,并在需要时将其粘贴.这会将我感兴趣的当前图像(在本例中为"watchImage")存储到桌面上的PNG文件中.然后,我可以使用预览打开此文件.


Zas*_*ter 12

如果您想使用lldb控制台,请使用chisel命令"visualize"

小费:

在安装之后,您可以在使用操作设置UIImage后设置条件断点:"visualize myUIImageToShowWithQuickLook"

在此输入图像描述

这将在调试器停止时自动显示图像.


wyu*_*wyu 5

如果无法通过变量视图访问图像怎么办?

呼应 @pkamb 所说的 - 您可以使用变量视图快速查看图像。但是如果您无法访问图像怎么办?

例如我有一张图片(contentViewController.view.subviews[0].subviews[1] as? UIImageView).image

但如果我尝试contentViewController在变量视图中展开,它不会暴露我的子视图

在此输入图像描述

你可以做的就是右键单击,添加一个表达式,然后你就可以看到它了!

在此输入图像描述

在此输入图像描述

在此输入图像描述