【iOS】代碼開發中bug管理:bugHD和bugtags

轉一篇別人寫的崩潰調試 iOS崩潰調試 http://www.cocoachina.com/ios/20160115/15009.htmlhtml

1、原生代碼處理ios

正常代碼使用中的幾種崩潰處理:git

1.NSException收集崩潰信息github

// 將系統提供的獲取崩潰信息函數寫在這個方法中,以保證在程序開始運行就具備獲取崩潰信息的功能
  - (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文件。每次發佈一個版本,咱們都須要備份這個文件,以方便之後的調試。app

須要使用Xcode自帶的symbolicatecrash工具來將.Crash和.dSYM文件進行符號化函數

三、經過Xcode查看設備崩潰信息工具

選擇window-> devices -> 選擇本身的手機 -> view device logs 就能夠查看咱們的崩潰信息了。spa

四、蘋果自帶崩潰統計工具指針

蘋果在Xcode中爲咱們集成了崩潰統計功能,在Window->Organizer->Crashes中能夠看到

須要用戶在iPhone中進行設置,設置->隱私->診斷與用量->診斷與用量數據(iOS8如下在通用中設置),選擇自動發送,並與開發者共享便可


2、第三方開源代碼分析統計

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()函數指針的惡意覆蓋,致使有些第三方不能收到崩潰信息。
相關文章
相關標籤/搜索