美文网首页
《与调试器共舞 - LLDB 的华尔兹》学习笔记

《与调试器共舞 - LLDB 的华尔兹》学习笔记

作者: 二丫 | 来源:发表于2015-03-31 10:24 被阅读0次

    原文: 与调试器共舞 - LLDB 的华尔兹

    • pexpression --的简写,poexpression -o --的简写,--表示参数截止。

    • e count = 10用来修改变量count的值,e NSArray* $abc = [NSArray array]用来声明一个变量。

    • thread return命令,它有一个可选参数,在执行时它会把可选参数加载进返回寄存器里,然后立刻执行返回命令,跳出当前栈帧,函数剩余的部分不会被执行。如:thread return NO

    • 暂停,用以下命令更新window上任一UI,点击继续即可看到更改后的效果:
      //打印window上所有view
      (lldb) po [[[UIApplication sharedApplication] keyWindow] recursiveDescription]

        //获取指定的view
        (lldb) e id $myView = (id)0x7f82b1d01fd0
      
        //对这个view做更改
        (lldb) e (void)[$myView setBackgroundColor:[UIColor blueColor]]
      
    • 查找按钮的target,用以下代码获取到按钮的target和action,然后设置一个符号断点即可:
      //获取$myButton的target
      (lldb) po [$myButton allTargets]
      //输出
      {(
      <MagicEventListener: 0x7fb58bd2e240>
      )}

        //获取上述target的action
        (lldb) po [$myButton actionsForTarget:(id)0x7fb58bd2e240 forControlEvent:0]
        //输出
        <__NSArrayM 0x7fb58bd2aa40>(
        _handleTap:
        )
      
    • 拓展:用debug view hierarchy 按钮可以更便捷地获取当前window上的视图地址,然后用上述方法对该视图进行修改:


      debug view hierarchy 按钮的位置
    获取某个视图的地址

    相关文章

      网友评论

          本文标题:《与调试器共舞 - LLDB 的华尔兹》学习笔记

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