0

C:\Windows\SysWOW64 に APPCRASH ダンプを生成するアプリケーションがあります (作成していません)。ダンプ中のアプリケーションは不自由ですが、データを失わないように最小限の容量で動作しています。問題は、これらのダンプが非常に大きいため、システムがこれらの書き込みにほとんどの時間を費やしており、アプリケーションの処理が大幅に遅れており、すぐにデータが失われ始めることです。

計画は、それを完全に無効にするか、RAM ドライブにマウントして、RAM ドライブにヒットしたらすぐにパージすることです。

今、私はこのキーの使用を検討しました:

http://msdn.microsoft.com/en-us/library/windows/desktop/bb787181%28v=vs.85%29.aspx

ただし、元のダンプをリダイレクトするのではなく、2 番目のダンプを生成するだけです。

ダンプの名前は次のとおりです。

ダンプ-2013_03_31-15_23_55_772.dmp

これは一般的に Windows の開発者 (C/C++ のようなもの) の領域なので、私は彼らに連絡したいと思います。

さらに: ダンプ ファイルは循環していません (ハード ドライブに残っている 20 GB がいっぱいになります)。そのため、これが Windows の動作なのか、アプリのカスタム コードなのか (もしそうなら... ick!) はわかりません。

4

1 に答える 1

1

DumpFile を書き込むには、アプリは関数「MiniDumpWriteDump」を呼び出す必要があるため、これはシステムの動作や制御できるものではなく、アプリケーション主導です。クラッシュ時にダンプする場合は、OS が引き継ぐ前に (!)、"SetUnhandledExceptionFilter" を使用して独自の処理ルーチンを設定します。残念ながら、他のプロセスからこのハンドラーを上書きする方法が見つからなかったので、残っている唯一の希望は、アプリが動作を切り替えるか、パスを変更するためのレジスタ エントリがあることです (私のアプリケーションにはまさにその理由があります)。あなたが説明します)。

于 2013-09-04T13:05:26.797 に答える