2011-05-02 133 views
2

是否有什麼會導致MonoTouch在應用程序崩潰時不生成崩潰報告,還是應該始終生成一個崩潰報告? (因爲我的失敗)有什麼會導致MonoTouch不生成崩潰報告?

在我的項目中,我硬編碼它在某個動作上拋出一個NullRefException。我希望看到一個崩潰報告寫入設備日誌中的XCode,但我沒有看到任何報告生成。

控制檯輸出一個託管堆棧跟蹤,其中引發了異常。

您可能想知道爲什麼我想要一個崩潰報告,如果我能在控制檯中看到它?那麼,我想確保在測試設備和生產版本上生成崩潰報告。

更新:我注意到將MT從3.2.6升級到4.0.1將允許我的應用程序生成崩潰報告。不幸的是,我們在4.0.1上運行我們的應用程序時遇到了不穩定問題。爲什麼3.2.6在崩潰報告方面會有所不同?

回答

0

升級到MonoTouch 5的一些原因解決了這個問題。

0

您是否碰巧在「Main」方法中有一個頂級異常處理程序?

像下面這樣的東西?這會讓你無法得到崩潰報告,因爲就iOS而言,它是一個乾淨的退出。

static void Main (string[] args) 
     { 
     try { 
      UIApplication.Main (args); 
     } catch (Exception e){ 
      Log.ErrorFormat ("Toplevel exception: {0}", e); 
     } 
     } 
+0

不,我沒有嘗試在Main()中捕獲。控制檯只顯示託管堆棧跟蹤,並指出它以錯誤代碼1退出。我假設代碼1意味着它不會乾淨地退出。可能是錯的。 – 2011-05-03 17:04:54