には、どうするのがベストなの収集/予期せぬエラーを報告す。純窓。

StackOverflow https://stackoverflow.com/questions/110488

質問

いより良い解決してよいかどうかについては、現在において 予想外の生産誤差, な飾をいただけます。

より多くの当社製品はWinFormおよびコンポーネントのラインナップアプリケーションを設置リモートです。必然的に予想外のエラーが発生し、NullReferenceExceptionsめの一般的なネットワークのエラー'.これらのプログラマーのエラーを環境です。

現在、これらすべての独自のレンダリングメカニズムの例外をログインを使用log4netをメールで送信に 分析.しかしこの時にこれらのエラー'レポート"を含むもの情報を特定の問題です。

これらの報告が必要などの情報:

  1. アプリケーション名
  2. アプリケーションのバージョン
  3. ワークステーション
  4. その画面
  5. 例外の詳細
  6. 経営システム
  7. ご利用のRAM
  8. 走行プロセス
  9. しかもみんな上手い!!

うほっデータ消えました直のホイールを展開することをゼロから立ち上げました。部品が必要です:

  1. エラーコレクション(詳細は上記)
  2. エラー'送信'(イングに必要な場合DBまたはインターネットは利用不可)
  3. エラーデータベース
  4. 分析と報告されます。E.g.10もっとも頻繁に誤差やタイムアウトの間に発生する4:00-5:00に行います。どのような誤差を比較版xおよびy?

注意:そしてさらな SmartAssembly としての可能な解決策ではあんからの会社のニーズをつくろうと思いましたの声を聞きその他の開発者がいる場合一部の選択肢が存在します。

編集: の答えです。かなかったことを鮮明に独自の質問に対し、特に問題はありませんがどのようにキャッチオunhanded例外ではなく、わたしたちを報告エンジンの解析をおこなっています。

役に立ちましたか?

解決

思いJeff Atwoodの記事 ユーザーに優しい例外処理, るなどのようにお願いをしているため、アプリケーション情報、スクリーンショット、例外の詳細、OSログをテキストファイルやメールなど)を含むソースコードで追加のもあります。

他のヒント

いくつでも添付することができ、独自のレンダリングメカニズムの例外イベントでログインで/ヒ索することになりました。

[STAThread]
static void Main() 
{
    Application.ThreadException += new ThreadExceptionEventHandler(OnUnhandledException);
    Application.Run(new FormStartUp());
}
static void OnUnhandledException(object sender, ThreadExceptionEventArgs t) 
{
    // Log
}

またこのコードスニペットを使用AppDomainの代わりにThreadException:

static class EntryPoint {
    [MTAThread]
    static void Main() {
        // Add Global Exception Handler
        AppDomain.CurrentDomain.UnhandledException += 
            new UnhandledExceptionEventHandler(OnUnhandledException);

        Application.Run(new Form1());
    }

    // In CF case only, ALL unhandled exceptions come here
    private static void OnUnhandledException(Object sender, 
        UnhandledExceptionEventArgs e) {
        Exception ex = e.ExceptionObject as Exception;
        if (ex != null) {
            // Can't imagine e.IsTerminating ever being false
            // or e.ExceptionObject not being an Exception
            SomeClass.SomeStaticHandlingMethod(ex, e.IsTerminating);
        }
    }
}

ここでは書かれています。 AppDomain独自のレンダリングメカニズムの例外

外でのお取り扱いで、自分がいなだけじゃない傷を付けても一般に行うことは、再利用が可能であることが発表されニーズを融合させることは、インターフェースの適切ながきセットアップwebserviceるアプリケーション名、例外、およびすべてにとって、良いものとして一元するすべてのアプリとなります。

また、エラーレポート機能内蔵JetBrainの Omeaリーダー.このキャッチすべてのエラー処理コンポーネントpopsのダイアログが予期せぬエラーが発生します。ユーザが入力できます詳細は提出する前に、問題をJetBrainの公共エラー-収集ウェブサービスです。

てOmeaオープンソースのためのコミュニティアップ。純1.1コードベース.phpがv2で増えたファイルまたは3です。http://www.jetbrains.net/confluence/display/OMEA/this+link

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top