如何Xcode查看Ios app的crash log

       Ios app crash的时候经常会显示一些堆栈信息:

*** First throw call stack:

(0x2f3a022 0x30cbcd6 0x2ee2a48 0x2ee29b9 0x2f392da 0x9cfd3 0x7f460 0x80a6e 0x103ba29 0x2f05855 0x2f05778 0xf8019a 0x1011c 0x86d5d 0x2f3be99 0x67c14e 0x67c0e6 0x722ade 0x722fa7 0x722266 0x93da1a 0x2f0e99e 0x2ea5640 0x2e714c6 0x2e70d84 0x2e70c9b 0x36d57d8 0x36d588a 0x679626 0x5a45 0x23f5)

terminate called throwing an exception(lldb) 

   

     完全看不懂啥意思:有一个办法可以把他们显示出来,我在Xcode 4.3,  5.1模拟器上测试确实能显示


1、在AppDelegate.m加上如下方法:

void uncaughtExceptionHandler(NSException *exception) {

    NSLog(@"CRASH: %@", exception);

    NSLog(@"Stack Trace: %@", [exception callStackSymbols]);

    // Internal error reporting

}


2、在AppDelegate.m的如下方法第一句话调用如下方法就OK了

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

{

    NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler);

//其他正常处理


经测试当crash 时能输出如下log:

 Stack Trace: (

0   CoreFoundation                      0x02f3a03e __exceptionPreprocess + 206

1   libobjc.A.dylib                     0x030cbcd6 objc_exception_throw + 44

2   CoreFoundation                      0x02ee2a48 +[NSException raise:format:arguments:] + 136

3   CoreFoundation                      0x02ee29b9 +[NSException raise:format:] + 57

4   CoreFoundation                      0x02f392da -[__NSCFDictionary setObject:forKey:] + 250

5   MyAppName                       0x0009cfd3 -[XXXDetailView initWithData:frame:type:] + 4051


    

        

转载于:https://www.cnblogs.com/secbook/archive/2012/07/05/2655382.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值