반응형
Header
stdafx.h or pch.h
#include <iostream>
#include <Windows.h>
#include <DbgHelp.h>
#pragma comment(lib, "Dbghelp.lib")
LONG WINAPI ExceptionCallBack(EXCEPTION_POINTERS* exceptionInfo)
{
MINIDUMP_EXCEPTION_INFORMATION info = { 0 };
info.ThreadId = ::GetCurrentThreadId(); // Threae ID 설정
info.ExceptionPointers = exceptionInfo; // Exception 정보 설정
info.ClientPointers = FALSE;
// 덤프 파일 생성
std::wstring strtemp(L"dumpfilename.dmp");
HANDLE hFile = CreateFile(strtemp.c_str(), GENERIC_WRITE, FILE_SHARE_WRITE, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
MiniDumpWriteDump(GetCurrentProcess(), GetCurrentProcessId(), hFile, MiniDumpNormal, &info, NULL, NULL);
return 0L;
}
Cpp File
SetUnhandledExceptionFilter(ExceptionCallBack); //Exception 보다 먼저 선언
SetUnhandledExceptionFilter 가 등록 전 Exception이 발생 시 Dump 파일이 나타나지 않을 수 있으니 주의하자.
코드 등록 후 사용하면 실행 파일 경로에 ***.dmp 파일을 확인 할 수 있다.
해당 파일은 Windbg 를 통해 쉽게 볼 수 있다.
반응형
'Develope > c++, mfc' 카테고리의 다른 글
[C++/MFC] 프로그램 중복 실행 방지, Mutex 사용법, CreateMutex (0) | 2023.01.11 |
---|---|
[C++/MFC] 문자열 변환, CString to char (0) | 2022.10.17 |
[C++/MFC] 문자열 변환, char to wchar_t (0) | 2022.10.17 |
[C++/MFC] list Control 더블 클릭 시 폴더 이동 및 선택, OnNMDblclkList (0) | 2022.10.14 |
[C++ / MFC] 리스트 열 (아이템) 높이 조절 (CListCtrl) (0) | 2022.10.12 |
댓글