リモートサイトでまれなエラーが発生したとしますが、がアプリケーションをクラッシュさせないとします。私はまだこれが起こると、私はいくつかの情報、主にコールスタックを持っているミニダンプファイルを作成したいと思います。ミニダンプファイルをクラッシュせずにプログラムで作成することはできますか?
擬似コードを以下の通りです:
try
{
doStuff();
}
catch(_com_error &e)
{
make_minidump(); // is this possible?
dump_com_error(e);
return FALSE;
}
私が見るすべての例では、ダンプファイルを生成するために、私は、アプリケーションが(少なくともデモの目的のために)クラッシュさせる必要があることが必要ですが、私はしたくありませんそれを行う。このようなダンプファイルを作成することは可能ですか?
私はタスクマネージャーに行って、実行中のプロセスのダンプファイルを作成することができ、同様に私は同じことを達成するためにProcessExplorerを使用することができるので、可能であるように思えます。
同時に、ダンプファイルは、コントロールがアプリケーションがクラッシュしたときに呼び出されるSetUnhandledExceptionFilterになったときにのみ生成されます。
最後の手段として、生成されるダンプファイルを取得する唯一の方法は、意図的にアプリケーションをクラッシュさせることです。これは、クラッシュを超えて有用なものを作り出しますか?私はこの事件の原因を知っているからです。
LONG CALLBACK unhandled_handler(EXCEPTION_POINTERS* e)
{
make_minidump(e);
return EXCEPTION_CONTINUE_SEARCH;
}
int main()
{
SetUnhandledExceptionFilter(unhandled_handler);
return *(int*)0;
}
ます。https:// MSDNを。 microsoft.com/en-us/library/windows/desktop/ms680360(v=vs.85).aspx –
重複している可能性があります(2009年の時点では表示されません)。http://stackoverflow.com/questions/1547211/how-to -create-minidump-for-my-process-when-it-crashes –