異常終了時、ダンプファイルの保存
Windowsアプリが不正な処理で異常終了するとき、
MyApplication は動作を停止しました
問題が発生したため、プログラムが正しく動作しなくなりました。プログラムは閉じられ、解決策がある場合はWindowsから通知されます。
というメッセージが表示されます。
通常は、このタイミングで、Windowsタスクマネージャーを開き、当該プロセスを右クリックして、ダンプファイルの作成を実行することで、ダンプファイルを保存することができます。
このような人手による操作ではなく、プログラムによって、ダンプファイルを自動保存する方法はないでしょうか?
私のアプリは、ランチャ.exeとメイン.exeに分かれていて、ランチャ.exeが DEBUG_ONLY_THIS_PROCESS フラグ付きで、 CreateProcessを呼び、メイン.exeをデバッグ対象の子プロセスとして起動するようになっています。
異常終了が発生したとき、EXCEPTION_DEBUG_EVENTを捕まえることはできるのですが、このタイミングで、ダンプファイルを任意の場所に自動保存したいと思います。
- ダンプファイルのファイル構造は公開されているか?
- ダンプファイルを作成するAPIは存在するか?
以上、ご存じでしたらご教示ください。