2009-08-04 13 views
4

多くのデスクトップアプリケーション(Firefox、Google Chrome、VS 2008など)には、分析目的でソフトウェアベンダーに送信できるクラッシュダンプがあることがわかりました。私はこのようなクラッシュダンプを自分で作成しようとしています。私はやっています.Net対策:ソフトウェアクラッシュ時の情報収集

収集するデータにはどのようなベストプラクティスがありますので、収集したデータはバグを再現して修正するには十分ですが、それ以上は何もありません。

答えて

5

例外名を収集し、クラッシュ時に彼が何をしていたかを顧客に尋ねます。通常はそれで十分です。

さらに、Microsoftのアカウントを確立して、アプリケーションのデバッグデータをWindows Error Reportingでクラッシュさせることができます。

+1

+1 Windowsエラー報告。あなたのアプリが本当にクラッシュしたときに、.NETで簡単に情報を取得することはあまりありません.WindowsがMicrosoftに送信し、そこで詳細を取得させることができます。 – STW

3

私が直接私のバグデータベースに報告するロギングシステムを構築し、それは次の情報を報告します。

  • コンピュータおよびランタイム環境(Windows版のような、いくつかのRegionaleも設定、量についての非特定できる情報例外自体に関するメモリ、CPUタイプ、など)
  • スタックトレース情報の
  • ロードアセンブリ、バージョン番号のアセンブリ(あなたのDLLはスカイプで注入し、新しいノウハウではありません
  • ロードのdllの漢に

フォームがポップアップして、送信されるすべての情報を確認し、必要に応じてユーザーを識別できるようになります。+彼/彼女が何を書いているかを記述します。問題が発生したときにやっていました。電子メールが提供された場合、バグレポートを追跡するために電子メールが返送されます。

ロギングのプロセスをできるだけ非侵入的にするように努力し、少なくともどこを見始めるかを決めることができるように十分詳細にしてください。

私は現在、ログの最後のN個の項目をバグレポートに添付できる同じ問題を複数回経験したユーザーに対して有効にできるログシステムを構築しています。コール、リターン、例外など)。

2

マイクロソフトが既に提供しているミニダンプフレームワークを使用しないでください。 MiniDumpCallbackとMiniDumpWriteDump関数を見て、アプリケーションが追加のアプリケーション固有のデータでミニ・ダンプを増やすことができるようにすることをお勧めします。

関連する問題