원격 사이트에 드문 오류가 발생하지만 은 응용 프로그램을 중단시키지 않는다고 가정하십시오. 이 문제가 발생하면 미니 덤프 파일을 만들고 싶습니다. 따라서 주로 호출 스택과 함께 작업 할 몇 가지 정보가 있습니다.충돌없이 프로그래밍 방식으로 미니 덤프 파일을 만들 수 있습니까?
의사 코드는 다음입니다 :
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 –