私が維持している大規模な Win32 プログラムがあり、何か問題が発生するたびに自動的かつ無条件にミニダンプ ファイルを生成するようにインストルメント化したいと考えています。顧客に userdump.exe のインストールを依頼することはできず、Visual Studio のインストールを依頼することもできません。
これを行う良い方法はありますか?アサート ハンドラーから abort() が呼び出された場合 (これは複雑です)、誰かが不良メモリに触れた場合、またはその他の本当に悪いことが発生した場合に、ミニダンプを生成できるようにしたいと考えています。
Posix では、シグナル ハンドラーをインストールして、これで完了です。私の理解では、Windows での同等のアプローチは SEH ですが、私たちのプログラムはさまざまな場所で多くのスレッドを起動するため、すべてのスレッド エントリ ポイントを __try/__catch でラップするのは非常に困難です。
アイデア?