NSSetUncaughtExceptionHandler

本文介绍了一种在iOS开发中使用Xcode进行异常捕获的方法。通过在AppDelegate.m文件中添加特定函数并调用NSSetUncaughtExceptionHandler, 开发者可以轻松地在终端中查看到程序崩溃的具体位置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

debug是程序开发过程中重要的工作,Xcode是一种比较人性化的开发工具,所以经常时候它会很友好的告诉你哪里出了问题,很容易能够找到问题所在。但有时Xcode也不会告诉你哪里出了问题,程序莫名奇妙的被挂掉。但iOS还是很友好的为我们提供了debug的API接口,只要简单的操作就能在终端中输出错误的所在。只要在

AppDelegate.m 中操作即可:


一、在AppDelegate.m中添加下面函数:

void UncaughtExceptionHandler(NSException *exception)

{

    NSArray *arr = [exception callStackSymbols];

    NSString *reason = [exception reason];

    NSString *name = [exception name];

    

    NSString *url = [NSString stringWithFormat:@"=============异常崩溃报告=============\nname:\n%@\nreason:\n%@\ncallStackSymbols:\n%@",

                     name,reason,[arr componentsJoinedByString:@"\n"]];

    NSLog(@"%@",url);

}

二、在启动方法

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions中调用

 NSSetUncaughtExceptionHandler(&UncaughtExceptionHandler);

的函数。


只需要简单的两步即可完成了操作,只要程序出现异常都会在终端中输出错误所在。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值