LLDBQuickLook 0.1.3

LLDBQuickLook 0.1.3

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布上次发布2014年12月

Ryan Olson 维护。



  • 来源
  • Ryan Olson

LLDB-QuickLook

LLDB-QuickLook Example 1

LLDB-QuickLook Example 2

LLDB-QuickLook 是一个调试器命令,用于使用 Quick Look 打开图像、视图等。这个命令非常适合查看调试控制台字符串不好表示的对象。这个命令受到了 Xcode 新的快速查看功能的启发,但有两点改进:

1.) 您可以检查通过 lldb 表达式可以访问的任何对象,而不仅仅是 Xcode GUI 中可用的对象。2.) 通过实现简单的数据提供程序协议,您可以检查任何类型的对象,而不仅仅是 UIImages。

这个命令非常简单。它会询问您的程序中的一个对象要调试数据,将这些数据保存到您计算机上的一个临时文件中,然后使用 Finder 和 Quick Look 打开该文件。

开始使用

  1. 克隆仓库。
  2. .lldbinit 文件复制到您的家目录(或将这些行追加到现有的 .lldbinit 中)。
  3. .lldbinit 文件中更新 lldb_quick_look.py 的路径,以匹配脚本在您的机器上的位置。
  4. DataProviders 目录添加到您的 Xcode 项目中。LLDB-QuickLook 需要 Xcode 5 或更高版本。
  5. 要使用完整的快速查看功能,请确保在系统偏好设置中选中了“启用辅助功能访问”设置。

Enable access for assistive devices

使用命令

当您的程序在断点处暂停时,在 lldb 中调用

quicklook <对象>ql <对象>

将要求对象提供其 quickLookDebugData,并将其保存到对象的 quickLookFilename 中。文件将保存到 /tmp/<目标> 之下,并使用 Finder 和 Quick Look 打开。您可以通过简单地实现 quickLookDebugDataquickLookFilename 方法将任何对象变成 Quick Look 数据提供程序。在 DataProviders 目录中可以找到针对 NSObjectUIImageUIViewNSDataNSString 的简单数据提供程序实现。

示例

(lldb) quicklook self.imageView.image

(lldb) ql [[UIApplication sharedApplication] keyWindow]

(lldb) quicklook -f some_object.json -- [self jsonString]

(lldb) ql -l self.view

一些用例

  • 在 Xcode 图形界面中无法访问调试图像。
  • 调试屏幕外的视图或被其他视图遮挡的视图。
  • 保存图像以进行截图或观察视图随时间变化。
  • 在不复制/粘贴自控制台的情况下在适当的编辑器中打开文本。

提示:在 lldb 提示符中键入 help quicklook 以查看命令的选项。

关于

quicklook 使用 lldb 强大的(但文档不佳的)Python 脚本桥接。我通常不写 Python 代码,所以如果我掺入了 Objective-C 风格的约定,请谅解。如果您有任何想法、评论或反馈,请关注我的推特 @ryanolsonk,接受拉取请求!