Xcode调试基础
如下图:调试视图包括顶部调试命令栏,左边变量视图,右边控制台。
调试器工具栏从左到右功能分别是:断点是否有效,跳到下一个断点,单步执行,进入方法内部,跳出当前方法到上一个方法
定制断点
满足条件的断点
i == 500 时代码暂停执行
根据以上选项可选择不同提示,Log Message 将消息写入日志,Sound 播放声音,若勾选Automatically continue after evaluating ,则会在播放声音或写入日志后不暂停执行代码
条件综合使用的断点
该断点的作用是:当 i == 500,打印self.view的信息,同时ls查看根路径下的目录,输出a的值,并且播放声音且不停止执行代码
断点类型
符号断点(Symbolic Breakpoint)
该断点用于捕获特定方法或函数的所有方法
捕获viewDidLoad方法
异常断点 (All Exceptions)
异常断点,在发生异常时触发。通常会通过设置一个全局的异常断点,可提供比崩溃更详细的栈跟踪信息。有时候,异常断点能直接指出崩溃的根源。调试期间可以始终确保有一个全局的异常断点是一种最佳的实践。
LLDB调试
- p (printf)打印标量表达式(eg a+b)或结构(CGRect)的值。po (print object)打印对象及其描述,可以查看特定内存的地址,也可以指定对象名。
- list X:打印指定行后的10行代码。通过参数 -X可以指定断点前多少行代码
- step (S)下一行
- continue(C)越过断点继续执行
- fin 执行到当前方法末尾
- kill 终止执行程序