在AppDelegate.m文件中实现函数

void UncaughtExceptionHandler(NSException *exception) {
/**
* 获取异常崩溃信息
*/
NSArray *callStack = [exception callStackSymbols];
NSString *reason = [exception reason];
NSString *name = [exception name];
NSString *content = [NSString stringWithFormat:@"异常错误报告\n exception_name: %@\n exception_reason: \n%@ \n exception_callStackSymbols: \n%@ \nversion: %@ \n userInfo: %@\n returnAddress: %@\n",name,reason,[callStack componentsJoinedByString:@"\n"]]; JKSQLiteManager *manager = [JKSQLiteManager sharedSQLManager];
[manager insertInto:@"err" columns:@"(err_text)" values:[NSString stringWithFormat:@"('%@')",content]];
}

然后在

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

NSSetUncaughtExceptionHandler(&UncaughtExceptionHandler);

就可以获取应用的Crash报告了。

异常错误报告

exception_name:  NSInvalidArgumentException

exception_reason:

*** -[__NSArrayM insertObject:atIndex:]: object cannot be nil

exception_callStackSymbols:

0   CoreFoundation                      0x00bfd494 __exceptionPreprocess + 180

1   libobjc.A.dylib                     0x006b7e02 objc_exception_throw + 50

2   CoreFoundation                      0x00aa3f91 -[__NSArrayM insertObject:atIndex:] + 881

3   CoreFoundation                      0x00aa3bf1 -[__NSArrayM addObject:] + 65

4   JKExceptionHandler                  0x000c9be2 -[ViewController crashBtn:] + 130

5   libobjc.A.dylib                     0x006cc0b5 -[NSObject performSelector:withObject:withObject:] + 84

6   UIKit                               0x00f97e38 -[UIApplication sendAction:to:from:forEvent:] + 118

7   UIKit                               0x00f97db7 -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 64

8   UIKit                               0x0113bf3b -[UIControl sendAction:to:forEvent:] + 79

9   UIKit                               0x0113c2d4 -[UIControl _sendActionsForEvents:withEvent:] + 433

10  UIKit                               0x0113b2c1 -[UIControl touchesEnded:withEvent:] + 714

11  UIKit                               0x0101852e -[UIWindow _sendTouchesForEvent:] + 1095

12  UIKit                               0x010195cc -[UIWindow sendEvent:] + 1159

13  UIKit                               0x00fbabe8 -[UIApplication sendEvent:] + 266

14  UIKit                               0x0df1c369 -[UIApplicationAccessibility sendEvent:] + 72

15  UIKit                               0x00f8f769 _UIApplicationHandleEventQueue + 7795

16  CoreFoundation                      0x00b0fe5f __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 15

17  CoreFoundation                      0x00b05aeb __CFRunLoopDoSources0 + 523

18  CoreFoundation                      0x00b04f08 __CFRunLoopRun + 1032

19  CoreFoundation                      0x00b04846 CFRunLoopRunSpecific + 470

20  CoreFoundation                      0x00b0465b CFRunLoopRunInMode + 123

21  GraphicsServices                    0x0425a664 GSEventRunModal + 192

22  GraphicsServices                    0x0425a4a1 GSEventRun + 104

23  UIKit                               0x00f95eb9 UIApplicationMain + 160

24  JKExceptionHandler                  0x000cce7a main + 138

25  libdyld.dylib                       0x025c4a25 start + 1

26  ???                                 0x00000001 0x0 + 1

version:    v1.0.0

userInfo:  (null)

returnAddress: (0xbfd478 0x6b7e02 0xaa3f91 0xaa3bf1 0xc9be2 0x6cc0b5 0xf97e38 0xf97db7 0x113bf3b 0x113c2d4 0x113b2c1 0x101852e 0x10195cc 0xfbabe8 0xdf1c369 0xf8f769 0xb0fe5f 0xb05aeb 0xb04f08 0xb04846 0xb0465b 0x425a664 0x425a4a1 0xf95eb9 0xcce7a 0x25c4a25 0x1)

iOS崩溃报告获取一的更多相关文章

  1. iOS崩溃报告获取二

    // // JKExceptionHandler.h // JKExceptionHandler // // Created by Jack on 16/9/7. // Copyright © 201 ...

  2. 【译】理解与分析ios应用的崩溃报告

    源网址: http://developer.apple.com/library/ios/#technotes/tn2151/_index.html 当一个应用程序崩溃时,创建一份“崩溃报告”对于理解崩 ...

  3. 转 理解与分析ios应用的崩溃报告

    理解与分析ios应用的崩溃报告 源网址: http://developer.apple.com/library/ios/#technotes/tn2151/_index.html 当一个应用程序崩溃时 ...

  4. 常用获取Android崩溃日志和IOS崩溃日志的几种方法

    一:前言 在日常测试app时,经常会遇到崩溃问题,测试快速抓取到崩溃日志可以有效方便开发进行定位,快速解决问题所在测试做到测试分析,定位是非常重要的,这也是判断一个测试能力指标的一大维度. 二:And ...

  5. iOS错误报告中关于崩溃地址的分析

    http://blog.csdn.net/gaoyp/article/details/46912753 一.错误报告中的三种地址:stack addressload addresssymbol add ...

  6. iOS崩溃日志分析-b

    1名词解释 1.1. UUID 一个字符串,在iOS上每个可执行文件或库文件都包含至少一个UUID,目的是为了唯一识别这个文件. 1.2. dwarfdump 苹果提供的命令行工具,其中一些功能就是查 ...

  7. 如何看iOS崩溃日志

    重点:Triggered by Thread这句话后边的线程号,快速定位问题出现在那个线程,是否是你的锅:Triggered by Thread所指的线程表示导致异常.崩溃的线程 下边内容转自简书 简 ...

  8. IOS崩溃 异常处理(NSSetUncaughtExceptionHandler)

    iOS已发布应用中对异常信息捕获和处理 代码下载地址:http://download.csdn.net/detail/daiyelang/6740205 iOS开发中我们会遇到程序抛出异常退出的情况, ...

  9. (转)IOS崩溃 异常处理(NSSetUncaughtExceptionHandler)

    iOS已发布应用中对异常信息捕获和处理 代码下载地址:http://download.csdn.net/detail/daiyelang/6740205 iOS开发中我们会遇到程序抛出异常退出的情况, ...

随机推荐

  1. 在CentOS上为DiscuzX3安装ImageMagick支持。

    找了几篇外文的,写的很好,按照参考安装成功! http://www.tecmint.com/install-imagemagick-in-linux/ ImageMagick is an free o ...

  2. weekend110(Hadoop)的 第四天笔记

    (2015年1月18日) 课程目录 01-复习 02-hadoop中的序列化机制 03-流量求和mr程序开发 04-hadoop的自定义排序实现 05-mr程序中自定义分组的实现 06-shuffle ...

  3. php class中public,private,protected的区别,以及实例

    一,public,private,protected的区别 public:权限是最大的,可以内部调用,实例调用等. protected: 受保护类型,用于本类和继承类调用. private: 私有类型 ...

  4. php 获取目录下文件列表

    可以用 scandir() 函数 例如: http://www.w3school.com.cn/php/func_directory_scandir.asp

  5. nginx配置中文域名解析

    当nginx配置文件中的default如果遇到解析指向问题的时候 ,配置了中文 没有用 后来找了找这个网址 http://tools.jb51.net/punycode/ 然后进去转换了一下 把 评估 ...

  6. MINA2.0原理

    转自:http://blog.csdn.net/liuzhenwen/article/details/5894279 客户端通信过程  1.通过SocketConnector同服务器端建立连接  2. ...

  7. Kerberos认证流程详解

    Kerberos是诞生于上个世纪90年代的计算机认证协议,被广泛应用于各大操作系统和Hadoop生态系统中.了解Kerberos认证的流程将有助于解决Hadoop集群中的安全配置过程中的问题.为此,本 ...

  8. CAS协议 - CAS URIs

    http://desert3.iteye.com/blog/1703449 2.CAS URIs:  CAS是一个基于HTTP的协议,这就要求其每一个组成部分可以通过特定的URIs访问到.所有相关的U ...

  9. Hibernate中inverse属性与cascade属性

    Hibernate集合映射中,经常会使用到"inverse"和"cascade"这两个属性.对于我这样,Hibernate接触不深和语文水平够烂的种种因素,发现 ...

  10. Quartz定时任务学习(六)作业

    org.quartz.Job 接口 把 Quartz 作用到 Java 类上唯一要做的就是让它实现 org.quartz.Job 接口.你的 Job 类可以实现任何其他想要的接口或继承任何需要的基类, ...