Xcode断点

Posted by LML on March 23, 2020

前言

本文主要对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 失败的时候暂停程序的执行。