美文网首页
LLDB学习

LLDB学习

作者: 冰室主人 | 来源:发表于2017-02-21 10:31 被阅读0次

    p p/s 输出地址和具体的值 po输出具体的值(oc里所有的对象都是用指针表示的,打印出来的是对象的指针,而不是对象本身,可以采用 -o 来打印对象本身 为了更加方便的时候,LLDB为 “expression -o —” 定了一个别名 :po,expr在lldb中声明新的变量时,需要加上$符号,表示引用


    屏幕快照 2017-02-21 上午11.13.19.png


    屏幕快照 2017-02-21 上午9.52.14.png
    打印视图的UI
    屏幕快照 2017-02-21 上午9.52.30.png

    expression(可以缩写成e)重新赋值 e var=newValue
    b refreshUI(方法名) b 行数 设置断点
    通过ID拿到view的引用,然后设置它的属性


    屏幕快照 2017-02-21 上午10.30.54.png
    expression -- self.view.backgroundColor=[UIColor redColor]//改变背景颜色
    expression -- (void)[CATransaction flush]//刷新屏幕
    

    当我们有一个地址,想找到具体地址对应的文件的位置的时候,可以使用 target modules lookup —adress命令
    也可以简写为 target modules lookup -a
    随着LLDB版本的更新,target modules 又可以简化为 image
    所以 target modules lookup -a 可以写为 image lookup -a

    image lookup -a 0x0000000102c15685//crash抛出的地址
    

    方法默认情况下返回的是YES我们想观察它返回NO的情况,我们只需要在这个方法的开始位置 加一个断点,当程序中断的时候, 在LLDB控制台输入 thread return NO 这样程序就会直接跳出 isRunning 方法

    thread return NO
    p (int)[[[self view] subviews] count]//子视图的数量
    
    //查看代码总行数
    先cd 到项目文件目录下
    find . -name "*.m" -or -name "*.h" -or -name "*.xib" -or -name "*.c" |xargs wc -l
    

    相关文章

      网友评论

          本文标题:LLDB学习

          本文链接:https://www.haomeiwen.com/subject/sgmywttx.html