前言
本文主要对Xcode调试过程中,可能使用到的几种断点进行介绍
Exception BreakPoint
当应用产生异常或崩溃时Xcode一般会直接跳到主函数。但这并不是我们想要的, 我们想要的是产生异常或崩溃能够停留在异常或者崩溃发生的地方而不是跳转到主函数.
例子:
加Exception BreakPoint之前
加Exception BreakPoint之后 #Symbolic Breakpoint 当想 debug 一些三方库或者系统库的时候,看不到代码没办法直接加断点,可以通过符号断点来断点。 可以验证一些问题, 举个例子 [UIIImage imagenamed] 内部调用的 CUIUncompressDeepmap2ImageData 解码方法,打个符号断点我们可以验证什么情况会调用解码方法
watch断点
watch断点就是当某个变量发生改变的时候触发的断点。在Xcode的watch窗口-> 右键需要watch的变量 -> watch “XXX”。Xcode watch窗口值得是调试窗口 常用的场景是:观察一个属性的变化
其他断点
Runtime Issue breakpoint
OpenGL ES Error Breakpoint
主要是OpenGL ES的断点调试
Test Failure Breakpoint
这个类型的断点会在test assertion 失败的时候暂停程序的执行。