Visual Studio에서 예외 필터 함수 디버깅
먼저 다음 코드를 보자.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
LONG WINAPI MyUnFilter(struct _EXCEPTION_POINTERS *lpExceptionInfo); int main() { LPBYTE lpBuff = nullptr; SetUnhandledExceptionFilter(MyUnFilter); *lpBuff = 11; return 0; } LONG WINAPI MyUnFilter(struct _EXCEPTION_POINTERS *lpExceptionInfo) { DWORD dwExceptCode = lpExceptionInfo->ExceptionRecord->ExceptionCode; LONG lResult; if (dwExceptCode == EXCEPTION_ACCESS_VIOLATION) printf("access violation caught by MyUnFilter\n"); else lResult = EXCEPTION_CONTINUE_SEARCH; return lResult; } |
디버거로 실행하면 다음처럼 처리하지 않은 예외가 있다며 알려 준다. 필터 함수를 등록했으므로 계속 진행해 필터 함수를 디버깅하고 싶지만 Visual...