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)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、expression expression命令的作用是执行一个表达式,并将表达式返回的结果输出。express...
    boundlessocean阅读 1,068评论 0 2
  • LLDB是个开源的内置于XCode的调试工具,这里来理一理常用用法。lldb对于命令的简称,是头部匹配方式,只要不...
    小小棒棒糖阅读 14,882评论 6 94
  •   LLDB的Xcode默认的调试器,它与LLVM编译器一起,带给我们更丰富的流程控制和数据检测的调试功能。平时用...
    Thinkdifferents阅读 1,649评论 1 4
  • [转]浅谈LLDB调试器文章来源于:http://www.cocoachina.com/ios/20150126/...
    loveobjc阅读 2,550评论 2 6
  • 随着Xcode 5的发布,LLDB调试器已经取代了GDB,成为了Xcode工程中默认的调试器。它与LLVM编译器一...
    随风飘荡的小逗逼阅读 1,419评论 0 0