これはいくつかの質問ではやや複雑な問題です。あなたは答えがある質問だけに自由に回答してください。カスタムエラーレポート(XP以上)
いくつかのコンポーネントのWindows例外の場合にミニダンプを作成し、XP SP3を最小限のOSとしてサポートするタスクがあります。コンポーネントが含まれます:
- スタンドアロンC++アプリケーション
- CSPおよびPKCS11ライブラリ(DLLの)知られているブラウザすべてで使用されている
- 1 UIと一つの非UIサービス
- 静的ライブラリで使用されます前の3つのポイント
必要条件は、WER(XP以降)のようなものですが、マイクロソフトの現在のWinqualの代わりに専用のベンダーサーバーにレポートを送信することです。レポート機能を1つの静的ライブラリにラップすることは本当にうれしいでしょう。
ただし、問題があります。 DLLは特別な獣です。 DLLコードで障害が発生した場合にのみレポートを生成する方法は?サービスには、特別な取り扱いが必要な場合がありますが、現在は認識していません。
まず、この作業で私を助けることができる既知のオープンソースライブラリがありますか?もしそうでなければ、私は自分自身をロールバックする必要があります。
私の最初の考えは、自分のモジュールごとにスリープウォッチドッグスレッドを持つことです。このスレッドはイベントを待つだけで、unhandled exception filterから設定されます。スレッドはMiniDumpWriteDumpを使用してレポートを生成し、インターネット経由で送信して終了し、前述のフィルタでスレッドが終了するのを待ってからプロセスを終了します。このソリューションの考えは?たとえば、ローカルシステムアカウントのWindowsサービスはインターネットにアクセスできますか?
Windows 7では、ダンプを指定された場所に保存するようにWERを設定できます。おそらくVistaでも。 XPについてはわからないそれから、いつでもどこでも、あなたが望む場所でダンプを送ることができます。 –