3

現時点での私の情報は (Win-XP では WER がそのように機能しないため、コンテキストを Windows-7 に保ちましょう)、アプリケーションの完全なメモリ クラッシュ ダンプを取得する方法が 2 つあります。

アプリケーションのローカル フル メモリ ダンプを生成するように WER を設定できます

情報はこちら: http://msdn.microsoft.com/en-us/library/bb787181%28v=vs.85%29.aspx

  • 追加 (32 ビット アプリ用。SysWow64 ノードは使用しないHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumpsでください)キー (おそらくアプリ固有のサブキー...LocalDumps\MyApplication.exe)
  • 2 に設定DumpTypeします。
  • 必要に応じて他の設定を微調整します

注: このアプリケーションはカスタム展開されているため、このレジストリ値を設定しても問題ありません。

これにより、単純なデモ アプリでかなり信頼性の高いクラッシュ ダンプが得られるようです。

または、自分でダンプを作成することもできます - ウォッチドッグ プロセスとすべてを適切に使用します。

私はMiniDumpWriteDump以前はダンプを書き込んでいましたが、障害のリスクを最小限に抑えるために、ウォッチドッグ プロセスからこれを行います (ここで説明されています)。

質問

それで、どちらがより良いアプローチですか?自分で行う場合、クラッシュ ハンドラーで行うことを慎重に最小限に抑えることを考えると、WER アプローチが信頼できるかどうか、または WER アプローチがインプロセスでさらにいくつかのことを行うかどうか疑問に思っています。不合格。アイデア/経験はありますか?

4

1 に答える 1

0

自分で行う代わりに、クラッシュダンプを生成して処理するためのライブラリとツールセットであるGoogle Breakpadを調べることができます。

于 2012-11-28T10:36:07.383 に答える