LLDB 调试 UI 的技巧
来源:互联网 发布:php获取get参数 编辑:程序博客网 时间:2024/05/17 04:15
用 LLDB 改变视图
在 iOS7 上 Xcode 并不支持捕获可视化的视图层级,我们只能用 lldb 的命令来输出视图层级:
1
po [[[UIApplication sharedApplication] keyWindow] recursiveDescription]
po
是 p object
的缩写,而 p
又是 print
的缩写,print
又是 expression --
的缩写。expression
就是e
命令,而 --
代表标识的结束。上面这条命令的参数是一个全局变量,所以可以在任何时候访问,无需在特定位置加断点,只需点暂停按钮即可。
通过 e
命令,可以在调试时改变变量的值,比如某个视图的透明度、背景颜色等,还可以临时创建新的视图或者视图控制器,甚至可以完成视图控制器的 push 操作。虽然此时程序(某个进程)是被我们暂停了的,但是后台的渲染服务是由后台的另一个进程完成的,所以可以强制触发渲染服务:
1
e (void)[CATransaction flush]
使用 Chisel 简化 LLDB 命令
虽然调试器也有一定的代码补全功能,但是毕竟程序员的时间是宝贵的, Xcode 的调试器毕竟还没做到 zsh 那样屌炸天,我们需要更多的“缩写”命令。Facebook 的程序员们最先按捺不住(毕竟人家做个客户端就要动辄几百号人),开发了一个基于 lldb 的工具:chisel。从此,输出视图层级只需要一条命令:pviews
,输出视图控制器层级也是一条命令:pvc
,刷新渲染服务更是一条命令:caflush
。安装 chisel 更是简单,直接用 Homebrew 分分钟搞定,因为 Homebrew 在 OSX 上太火,有人还专门做了个带图形界面的客户端 Cakebrew,简直骚得不得了。
当然我们无需查看完整的视图层级树,pviews
后面可以附带参数,查看当前 view 为根节点下的层级树。默认不带参数就是完整打印。
0 0
- LLDB 调试 UI 的技巧
- LLDB 调试技巧总结
- LLDB调试技巧待续
- 通过Chisel加强LLDB的UI调试能力
- 通过Chisel加强LLDB的UI调试能力
- Xcode调试技巧之LLDB
- iOS调试技巧之LLDB
- IOS调试技巧(LLDB调试技巧)
- ios 调试技巧收藏二 lldb命令
- ios 调试技巧收藏二 lldb命令
- ios 调试技巧收藏二 lldb命令
- ios 调试技巧收藏二 lldb命令
- Xcode调试技巧(一) lldb命令
- xcode + lldb简单的调试
- Xcode之lldb的技巧
- IOS开发之Xcode下LLDB调试技巧_Debug_更改BOOL类型的值
- LLDB调试
- LLDB调试
- Android编译示例代码
- fzu2150 搜索
- IOS 中使用token机制来验证用户的安全性
- Android系统框架
- DatePicker只显示月日,不显示年
- LLDB 调试 UI 的技巧
- Android开发工具锦集
- failed to load java type corresponding to e=web-app@http://java.sun.com/xml/ns/javaee
- 完整java开发中JDBC连接数据库代码和步骤
- wget获取https地址报错 --no-check-certificate
- 学习资料整理
- ROS使用之roslaunch
- 当一个自律的程序猿,写给自己(回忆)
- sipp命令 各参数含义