您的位置:首页 > 移动开发 > IOS开发

【iOS】代码开发中bug管理:bugHD和bugtags

2016-01-29 00:00 501 查看
摘要: 一个好的bug管理更容易找到错误 ,对app进行更好的归纳整改起到很好的作用。个人更倾向于bugtags的使用。

转一篇别人写的崩溃调试 ‍‍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/KSCrash
4.友盟

总结:

第三方统计工具并不是用的越多越好,使用多个崩溃收集第三方会导致NSSetUncaughtExceptionHandler()函数指针的恶意覆盖,导致有些第三方不能收到崩溃信息。
第三方统计工具并不是用的越多越好,使用多个崩溃收集第三方会导致NSSetUncaughtExceptionHandler()函数指针的恶意覆盖,导致有些第三方不能收到崩溃信息。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: