1

バインディング プロジェクトを作成し、onCreate などにすべてを接続しました。未処理の例外を除いて、すべてが機能します。「すべてが機能する」ことについて詳しく説明しましょう。crittercism のライブ統計ページで、実際にアプリの負荷があることを確認できます。また、「LogHandledException」インターフェイスを使用して「ManagedExceptions」を送信することもできます。

ICritterCallback インターフェイスを実装しましたが、「CrashedOnLastLoad」ブール値は常に false です。アプリがクラッシュするのを見ることができるので、これは奇妙なことです。

これらの 3 つの方法を使用して、ログを Crittercism に送信しようとしました。(3つすべてがアプリをクラッシュさせます)

Java 例外

throw new Java.Lang.IllegalArgumentException("This is a test for critter");

バックグラウンド例外

.Click += delegate { ThreadPool.QueueUserWorkItem(o => { throw new Exception("Crashed Background thread."); } ); };

単純な .net 例外

throw new Exception("Crashed UI thread.");

上記のいずれも、次のロード時にクラッシュとして登録されていません...変ですよね?

おそらく、.net ランタイムは未処理の例外をすべて飲み込んでから、dalvic のランタイムで適切に exit を呼び出しています...これは可能ですか..?

今のところハックとして、このブログ投稿に従って Android の例外ハンドラーを実装し、Crittercism.LogHandledException(Throwable.FromException(e.Exception));両方のイベント内から呼び出します。

それは機能しますが、ハンドルされていない例外に対してCrittercismのハンドルされた例外を使用しています..したがって、実際の「HandledExceptions」を送信したい場合、それらは混乱して失われます。

未処理の例外を Crittercism に送信する方法はありますか??
または、Crittercism に送信する .net から Android のクラッシュをシミュレートする方法はありますか??

どんな助けでも大歓迎です!

乾杯、
サム

4

1 に答える 1

0

ここCrittercismの共同創設者。Xamarin の公式プラグインをリリースしました。このプラグインは、javascript 例外 (およびその他のクラッシュ) を未処理の例外として自動的に記録するため、この問題が発生することはもうありません。Xamarin アセット ストアから最新バージョンをダウンロードできます。

http://components.xamarin.com/view/crittercism

于 2014-07-25T05:15:36.330 に答える