iOS大法-崩溃处理

每当我们开开心心的写好一块功能,带点小期盼的按下command+R,一运行...

突然编译界面跳到main.h,是不是想喷一口老血...

iOS大法-崩溃处理_第1张图片

遇到崩溃不要着急,不要胡乱改代码,先找到崩溃原因,一般情况下,控制台会把崩溃原因打印出来,举几个栗子:

1.调用了不存在的方法

-[WSMainViewController methodNotExist]: unrecognized selector sent to instance 0x1dd96160

2013-10-23 15:49:52.167 WSCrashSample[5578:907] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[WSMainViewController methodNotExist]: unrecognized selector sent to instance 0x1dd96160'

2.数组越界


3.没有发送给实例


上面这几种情况,原因都能一下看出来,如果遇到类似图一这种 CFRunLoopError  崩溃,原因不明确,左边线程又看不懂,该怎么办呢?别着急,可以用全局断点 Exception Breakpoint 快速定位到崩溃地方。

1.点击断点列表左下方+号,创建一个Exception Breakpoint

iOS大法-崩溃处理_第2张图片

2.点空白处让弹框消失

iOS大法-崩溃处理_第3张图片

3.运行,编译界面会跳转到导致崩溃的地方

原来是调用masonry导致的崩溃,这种方法适用很多崩溃场景。

你可能感兴趣的:(iOS大法-崩溃处理)