예외 처리 ~~ tip
Tip & Tech / 2011. 2. 8. 17:11
예외 처리라 하면.. try{} catch(...){} 등을 사용하여 코딩을 하는게
보통이다.
하지만.. release 컴파일시 error로 프로그램이 죽어버리게 되면 catch등을 통하지 않고
종료되어. 버그 리포팅을 하기가 힘든데
이럴때를 지원해주기 위한 window API 함수를 알아본다.
step1 : 프로그램이 죽어버를 경우 무조건 호출될 callback함수를 하나 만든다.
LONG WINAPI ExceptionCallStack (struct _EXCEPTION_POINTERS *exceptionInfo);
step 2 : 예외 처리 핸들러 생성
LPTOP_LEVEL_EXCEPTION_FILTER PrevExceptionFilter = NULL;
int APIENTRY _tWinMain(..... )
{
// 콜스택 기록용 예외 콜백 함수 등록
PrevExceptionFilter =
SetUnhandledExceptionFilter(ExceptionCallStack);
Run();
// 콜스택 기록용 예외 콜백 함수 등록 해제
SetUnhandledExceptionFilter(PrevExceptionFilter);
}
=> Thingking
........... ExceptionCallStack 함수에 miniDump나 콜스택 과련 debug코드를 내포하여 release를 배포하면
차후 생각지 못한 버그가 발생했을경우 리포팅이 가능해진다.
[출처] 예외 처리 ~~ tip|작성자 모냐
반응형
'Tip & Tech' 카테고리의 다른 글
미들웨어 정리 (0) | 2011.04.13 |
---|---|
타격감 향상을 위한 방법론 (0) | 2011.03.17 |
디버깅 메세지 출력 매크로 수정판 (0) | 2011.01.31 |
GPG 명예의 전당.베스트 오브 베스트 (0) | 2011.01.21 |
안전하고, 좋은 냄새가 나는 C++ 코드 만들기 (0) | 2011.01.13 |