Xcode - 使用 chisel 提高 LLDB 调试效率

源链接:https://viktyz.gitbooks.io/iosnotebook-gitbook/Notes/Note_00129_20160108.html

方案名称

Xcode - 使用 chisel 提高 LLDB 调试效率

关键字

Xcode \ 调试 \ 断点 \ 页面 \ 约束

需求场景

  1. 需要对复杂页面进行调试时

参考链接

  1. GitHub - chisel
  2. 简书 - LLdb篇2教你使用faceBook的chisel来提高调试效率
  3. 简书 - 小笨狼的LLDB技巧:chisel

详细内容

安装
1. 安装 Homebrew (如果已经安装了,可以跳过这一步)

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

2. 更新 Homebrew (如果已经最新了,可以跳过这一步)

brew update

3. 通过 Homebrew 安装 chisel

brew install chisel

4. 添加 chisel 命令至 ~/.lldbinit

touch ~/.lldbinit echo "command script import /usr/local/opt/chisel/libexec/fblldb.py" >> ~/.lldbinit

5. 更新 chisel

brew upgrade chisel

使用
1. 通过 pviews 命令直接查看页面层级关系

2. 通过 border & unborder 命令为页面控件添加和删除边框颜色和边框的宽度
(lldb)border 0x79ec3140 -c green -w 2
3. 通过 paltrace 命令查看是否存在 Ambiguous LayoutsAMBIGUOUS LAYOUT 即为约束冲突或不完善位置),该命令相当于对 View 调用 _autolayoutTrace
(lldb) paltrace 
•UIWindow:0x7ff450d2fb50 - AMBIGUOUS LAYOUT
|   •UIView:0x7ff450e14430
|   |   *_UILayoutGuide:0x7ff450d30e90
|   |   *_UILayoutGuide:0x7ff450d31230
|   |   *UIView:0x7ff450d32870- AMBIGUOUS LAYOUT for UIView:0x7ff450d32870.minX{id: 46}

Legend:
    * - is laid out with auto layout
    + - is laid out manually, but is represented in the layout engine because translatesAutoresizingMaskIntoConstraints = YES
    • - layout engine host
4. 通过 alamborder & alamunborder 命令为 Ambiguous LayoutsAMBIGUOUS LAYOUT 即为约束冲突或不完善位置)控件添加和删除边框颜色和边框的宽度
(lldb)alamborder
5. 通过 pinternals 命令打印对象成员变量( model 为某实例对象)
(lldb) pinternals model
6. 使用 pkp 命令打印属性,该命令是 po 命令的升级版,po obj.xxx 是调用 getter 方法,如果没有 getter 方法就无法打印了。 pkp obj.xxx 优先调用 getter 方法,没有 getter 方法会直接查找成员变量。
(lldb) pkp self.view
7. 通过 flicker 命令查看 View,将 View 闪烁一下,以便于查找 View 的位置
(lldb) flicker self.subView

8. 通过 caflush 命令更新 UI, 该命令主要用于通过 LLDB 修改界面控件显示属性之后刷新页面
caflush
9 通过 show & hide 命令显示和隐藏页面显示控件
(lldb) show 0x7fe713901f10

(lldb) hide 0x7fe713901f10
10. 通过 visualize 命令打开mac下的预览app打开我们的图片UIImage, CGImageRef格式的图片,甚至view和layer的图片
(lldb) visualize image
更多命令使用请关注 参考链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值