XZ_iOS之控制台使用LLDB去po打印相关信息

使用更强大的断点功能
我们经常使用断点功能,但是我看大多数朋友仅仅使用常规的断点调试功能。
其实还有很多你能做的,例如,你可以 自定义 您的断点,让他们在全局的工程中发挥作用,你为什么要这样做呢?

因为 你可以创建符号断点(标志性的断点), 在代码 执行 执行到这一句的时候 ,例如 UIApplicationMain :


你看懂我在这里做了什么了嘛?

现在每当我做任何项目的调试工作时,我得到的不是

我可以直接得到这些信息,不需要额外的步骤。



在查找BUG或者获取某个变量的值的时候,有些朋友喜欢用NSlog,但是我个人认为还是LLDB更好用一些,在控制台使用po语句输出,不需要再重新运行程序,可以运行一次多次获取变量的值,NSLog需要再次执行才可以得到变量的值,而自定义断点,可以在程序不被打断的情况下直接得到需要的值

一、1>使用expression语句执行表达式
可以在执行代码的过程中通过执行表达式来修改程序的值
例,运行过程中修改视图的颜色,在初始化view的下一句代码处打断点,


在控制台使用下面语句进行修改,我先使用了自定了一个RGB颜色不可以,换成系统的就可以了
expression -- self.view.backgroundColor = [UIColor purpleColor];
将命令写到控制台中点击Enter键,看到程序输出“(UICachedDeviceRGBColor *) $10 = 0x7b0bb1a0”就说明修改成功了,然后点击跳过当前断点,就可以看到效果了


点击 跳过断点之后的效果


视图原来的背景色

修改中之后的背景色

2> 打印值
(注意:①因为这个命令使用原始输入,如果你使用操作命令,你必须在操作命令之后和原始命令之间加--,官方文档是这么说的,但是我没加也可以打印出来,加一个-的时候打印不出来 ;②变量也是表达式)


注意:LLDB遵循“唯一匹配原则”:如果一个单词的前几个字母足以表示这个变量名,且没有重复的变量名跟这个单词的前几个字母相同,那么输入前几个字母就等于输入了这个变量。

二、po即expression -O的缩写

LLDB使用 “expression -O 对象名”来打印对象。


输入 help expression可以查看所有的 expression信息。


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值