大神常用的LLDB 调试命令都有哪些 ?

输出视图层级关系(这是一个被隐藏的命令):
po [[self view] recursiveDescription]
exp/expression#####

输出变量的内存地址和值:


8.png

运行时更改对象的值,更改test4String的值为haha,然后输出:

10.png
bt#####

打印所有函数调用堆栈

bt all

给指定函数打断点:

例:
(lldb) breakpoint set --func-regex viewWillAppear
Breakpoint 6: 102 locations.

列出所有断点:
breakPoint list

call#####

call即是调用的意思。其实上述的po和p也有调用的功能。因此一般只在不需要显示输出,或是方法无返回值时使用call。 和上面的命令一样,我们依然在viewDidLoad:里面设置断点,然后在程序中断的时候输入下面的命令:

(lldb) call [self startBet]
2017-03-08 15:14:58.192 YiCai[16548:735958] -[YCCombineThroughController startBet] [Line 114] 立即投注

call:执行一段代码
call NSLog(@
"%@"
, @
"yang"
)
image####

image 命令可用于寻址,有多个组合命令。比较实用的用法是用于寻找栈地址对应的代码位置.
用法:

image lookup --address 0x0000000100004af8

你可能感兴趣的:(大神常用的LLDB 调试命令都有哪些 ?)