iOS app bug的收集
来源:互联网 发布:网络赛车游戏 编辑:程序博客网 时间:2024/06/06 00:44
转一篇别人写的崩溃调试 iOS崩溃调试 http://www.cocoachina.com/ios/20160115/15009.html
一、原生代码处理
正常代码使用中的几种崩溃处理:
1.NSException收集崩溃信息
// 将系统提供的获取崩溃信息函数写在这个方法中,以保证在程序开始运行就具有获取崩溃信息的功能 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // 将下面C函数的函数地址当做参数 NSSetUncaughtExceptionHandler(&UncaughtExceptionHandler); return YES; } // 设置一个C函数,用来接收崩溃信息 void UncaughtExceptionHandler(NSException *exception){ // 可以通过exception对象获取一些崩溃信息,我们就是通过这些崩溃信息来进行解析的,例如下面的symbols数组就是我们的崩溃堆栈。 NSArray *symbols = [exception callStackSymbols]; NSString *reason = [exception reason]; NSString *name = [exception name]; } //代码调用第2种方法:获取崩溃统计的函数指针 NSUncaughtExceptionHandler *handler = NSGetUncaughtExceptionHandler();
2.dSYM
每次Archive一个包之后,都会随之生成一个dSYM文件。每次发布一个版本,我们都需要备份这个文件,以方便以后的调试。
需要使用Xcode自带的symbolicatecrash工具来将.Crash和.dSYM文件进行符号化
3、通过Xcode查看设备崩溃信息
选择window-> devices -> 选择自己的手机 -> view device logs 就可以查看我们的崩溃信息了。
4、苹果自带崩溃统计工具
苹果在Xcode中为我们集成了崩溃统计功能,在Window->Organizer->Crashes中可以看到
需要用户在iPhone中进行设置,设置->隐私->诊断与用量->诊断与用量数据(iOS8以下在通用中设置),选择自动发送,并与开发者共享即可
二、第三方开源代码分析统计
1.bugHD
来源http://bughd.com/doc/ios-customize
2.bugtags
来源http://help.bugtags.com/hc/kb/article/124400/
http://help.bugtags.com/hc/kb/article/68482/
3.KSCrash
https://github.com/kstenerud/KSCrash4.友盟
总结:
第三方统计工具并不是用的越多越好,使用多个崩溃收集第三方会导致NSSetUncaughtExceptionHandler()函数指针的恶意覆盖,导致有些第三方不能收到崩溃信息。
第三方统计工具并不是用的越多越好,使用多个崩溃收集第三方会导致NSSetUncaughtExceptionHandler()函数指针的恶意覆盖,导致有些第三方不能收到崩溃信息。- iOS app bug的收集
- iOS bug收集
- android App中bug收集的工具类
- ios 10 app抽风的bug解决
- ios收集到的完整app
- iOS app崩溃收集
- Linq的Bug收集
- ios rate app 资料收集
- ios rate app 资料收集
- iOS完整App资源收集
- iOS完整App资源收集
- iOS完整App资源收集
- iOS完整App资源收集
- iOS完整App资源收集
- iOS完整App资源收集
- iOS app发现严重BUG后的紧急处理
- 最常见的移动app bug列举-IOS篇
- 混合app,网页嵌套在ios上遇到的bug
- EventBus源码阅读(21)-EventBus触发
- 算法13_10种海量数据处理方法
- Linux 串口编程
- LIBVIRT报告qemu-system-x86_64: CPU feature cmt not found的解决办法
- liunx常见命令
- iOS app bug的收集
- char字符数组和字符指针
- 关于安卓市场和微信市场
- RestFul架构
- 用Derby数据库读取加密的DAT数据文件(二)
- Linux/Unix 桌面趣事:召唤一群企鹅在桌面上行走
- web.xml配置,避免乱码
- 编译错误error: stray‘\343’in program的解决方法
- linux arp攻击 源码示例,编译器gcc