美文网首页
《与调试器共舞 - 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调试

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

  • LLDB 调试学习

    LLDB调试必看:与调试器共舞 - LLDB 的华尔兹Facebook/Chisel 安装chisel: Alte...

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

    原文: 与调试器共舞 - LLDB 的华尔兹 p是expression --的简写,po是expression -...

  • LLDB学习笔记

    转载 与调试器共舞 - LLDB 的华尔兹: https://objccn.io/issue-19-2/ 推荐:i...

  • LLDB

    与调试器共舞 - LLDB 的华尔兹 nangege 2014/12/19 你是否曾经苦恼于理解你的代码,而去尝试...

  • iOS资源汇总(持续更新)

    博客与调试器共舞 - LLDB 的华尔兹刘坤的技术博客gf&zjの盗梦空间Casa Taloyum齐道长的博客老道...

  • 与调试器共舞 - LLDB 的华尔兹

    你是否曾经苦恼于理解你的代码,而去尝试打印一个变量的值? NSLog(@"%@", whatIsInsideThi...

  • 与调试器共舞 - LLDB 的华尔兹

    LLDB调试 help 最简单命令是help,它会列举出所有的命令。如果你忘记了一个命令是做什么的,或者想知道更多...

  • 与调试器共舞 - LLDB 的华尔兹

    你是否曾经苦恼于理解你的代码,而去尝试打印一个变量的值? NSLog(@"%@", whatIsInsideThi...

  • LLDB

    LLDB(lower level debugger,底层调试器) ,LLDB是用LLVM(lower level ...

网友评论

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

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