MiniDumpWriteDump を使用して、アプリケーションのクラッシュ ログを生成したいと考えています。Microsoft は、別のプロセスからダンプを実行することを推奨しています。これは、私がやろうとしていることです。私が抱えている問題はPEXCEPTION_INFORMATION
、親プロセスから子プロセスに構造を渡すことです。問題は、親プロセスがこの構造のメモリを所有しており、それを子プロセスに渡す必要があることです。この投稿を見つけました
MiniDumpWriteDump をプロセス外で使用している場合、例外情報を取得するにはどうすればよいですか?
そして、受け入れられた答えは、「ポインターがウォッチドッグプロセスのコンテキストで無効であることは問題ではありません」と述べました。PEXCEPTION_INFORMATION
これにより、ハンドルされていない例外フィルターが受け取るポインターを子プロセスに渡すだけで、ウィンドウが親からそれを読み取ることができると信じるようになりました。これは起こっていないので、子プロセスがクラッシュした瞬間に何をすべきか本当にわかりません。おそらく、ウィンドウがこのメモリに子に属しているかのようにアクセスしようとするためです。ここで明らかに何かが欠けていますが、何がわかりません。パイプを使用して子プロセスにデータを送信します。上記の質問への回答では、メモリ マップされたファイルを使用すると機能することが示されていますが、その理由、または回答を正しく理解しているかどうかはよくわかりません。