iOS LLDB常用命令

测试环境:Xcode
版本:10.2 (10E125)

快捷键

  • LLDB控制台快捷键:command + shift + y

命令

p / po / print

示例1:打印

(lldb) p self.view
(UIView *) $2 = 0x000000010cf1ba40

示例2:打印

(lldb) po self.view
<UIView: 0x10cf1ba40; frame = (0 0; 375 812); autoresize = W+H; layer = <CALayer: 0x280ebf2e0>>

示例3:打印

(lldb) print self.view
(UIView *) $3 = 0x000000010cf1ba40

e / expression

示例1:打印

(lldb) e self.view
(UIView *) $7 = 0x000000010cf36e70

示例2:打印

(lldb) expression self.view
(UIView *) $7 = 0x000000010cf36e70

示例3:修改

(lldb) e self.view.backgroundColor = [UIColor lightGrayColor]  // 改变颜色
(UICachedDeviceWhiteColor *) $11 = 0x0000000280a77db0
(lldb) e [CATransaction flush]   // 刷新

image lookup -address 查找崩溃位置

image lookup -a 0x00000001009e9c3f (崩溃日志中的某个地址)


image lookup -name 查找方法来源

image lookup -n 方法名称


image lookup –type 查看类的属性和成员变量

image lookup -t 类名


-2019-10-24 20:19:32

e / expression

修改控件时
当前环境没有控件变量名时
可以通过控件的地址来操作
Debug View Hierarchy模式下
先打印控件的信息:

如:
<UILabel: 0x134a55ac0; frame = (126.562 154; 121.875 20); text = '版本号:1.0.0'; userInteractionEnabled = NO; layer = <_UILabelLayer: 0x28188e9e0>>

再进一步操作:

(lldb) e (void)[(id)0x134a55ac0 setText:@"版本号:1.0.1"]      // 修改文字
(lldb) e (void)[CATransaction flush]
(lldb) e (void)[(id)0x134a55ac0 setBackgroundColor:[UIColor greenColor]] //修改背景颜色
(lldb) e (void)[CATransaction flush]
测试环境:Xcode
版本:11.1 (11A1027)

发布了201 篇原创文章 · 获赞 220 · 访问量 19万+

猜你喜欢

转载自blog.csdn.net/xjh093/article/details/102677145