.dmp 파일 남기기
SetUnhandledExceptionFilter 를 사용하자.
#include <dbghelp.h>
#pragma comment(lib, "dbghelp.h")
함수원형
LPTOP_LEVEL_EXCEPTION_FILTER WINAPI SetUnhandledExceptionFilter (
__in LPTOP_LEVEL_EXCEPTION_FILTER lpTopLevelExceptionFilter
);
사용법
1. ExceptionHandler implementation
LONG CALLBACK FunctionName (_EXCEPTION_POINTERS *pExceptionInfo)
{
pExceptionInfo->ExceptionRecord->ExceptionCode; // ExceptionCode
HANDLE hFile = CreateFile(DumpFileName);
MINIDUMP_EXCEPTION_INFORMATION eInfo;
eInfo.ThreadId = GetCurrentThreadId();
eInfo.ExceptionPointers = pExceptionInfo;
eInfo.ClientPointers = FALSE;
MiniDumpWriteDump(GetCurrentProcess(), GetCurrentProcessId(), hFile, MiniDumpNormal,
pExceptionInfo ? &eInfo : NULL, NULL, NULL);
return EXCEPTION_EXECUTE_HANDLER;
}
2. Main 함수에서 1에서 구현한 ExceptionHandler 등록
int main(void)
{
....
SetUnhandledExceptionFilter(UnhandledExceptionHandler);
....
}
[출처] .dmp 파일 남기기|작성자 미락꿀
'Tip & Tech' 카테고리의 다른 글
[펌] 윈7 단축키 대박 (0) | 2011.11.26 |
---|---|
[펌] O2 최적화보다 O1 최적화가 빠르다? (0) | 2011.09.14 |
[펌] Google C++ Style Guide (구글 C++ 엔지니어들의 코딩 스타일) (0) | 2011.08.22 |
메모리릭 찾기 (0) | 2011.08.20 |
Dump 파일 떨구기, 확인하기 (0) | 2011.07.30 |