LLDB笔记
记录下我最近学到的调试技巧:
在程序Crash或者进入断点的时候,可以在控制台输入如下命令,来实现一些特殊的功能:
bt
- 打印当前进程调用栈
- 示例:
bt
po
- 打印当前Object-C对象的描述
- 示例:
po [self view]
po [[NSString alloc] initWithFormat:@"Item index is: %d", index]
po [self recursiveDescription]
//打印视图树
p
- 打印当前基本类型的描述
- 示例:
p (int)[[[self view] subviews] count]
expr
- 可以在调试时动态执行指定表达式,并将结果打印出来,还可以改变指定变量的值
- 示例:
expr username = @"username"
call
- 可以调用当前上下文的方法
- 示例:
call [self.view setBackgroundColor:[UIColor redColor]]
image
- 用于寻址,有多个命令
- 示例:
image lookup --address 0x0000000100004af8
查看指定地址的栈信息
image lookup --type Point
查看指定地址的类型信息
相关文章:
Xcode的控制台调试命令
LLDB调试命令初探
Xcode LLDB Debug教程
lldb组织相关命令查看(LLDB官方文档)